Hướng dẫn how do i make the first column of a csv file read only in python? - làm cách nào để tạo cột đầu tiên của tệp csv chỉ đọc trong python?

Tôi có một CSV (mylist.csv) với 2 cột trông giống như thế này:

jfj840398jgg item-2f hd883hb2kjsd item-9k jie9hgtrbu43 item-12 fjoi439jgnso item-3i

Tôi cần đọc cột đầu tiên thành một biến để tôi chỉ nhận được:

jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso

Tôi đã thử như sau, nhưng nó chỉ cho tôi chữ cái đầu tiên của mỗi cột:

import csv list2 = [] with open("mylist.csv") as f: for row in f: list2.append(row[0])

Vì vậy, kết quả của mã trên đang cho tôi jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 2 như:

['j', 'h', 'j', 'f']

mkrieger1

16.2k4 Huy hiệu vàng50 Huy hiệu bạc58 Huy hiệu Đồng4 gold badges50 silver badges58 bronze badges

Được hỏi ngày 23 tháng 9 năm 2016 lúc 14:10Sep 23, 2016 at 14:10

2

Bạn nên jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 3 hàng và sau đó nối phần đầu tiên

list2 = [] with open("mylist.csv") as f: for row in f: list2.append(row.split()[0])

Bạn cũng có thể sử dụng một danh sách hiểu được khá tiêu chuẩn để tạo danh sách:

with open("mylist.csv") as f: list2 = [row.split()[0] for row in f]

Đã trả lời ngày 23 tháng 9 năm 2016 lúc 14:12Sep 23, 2016 at 14:12

Moses Koledoyemoses KoledoyeMoses Koledoye

76.1K8 Huy hiệu vàng126 Huy hiệu bạc133 Huy hiệu đồng8 gold badges126 silver badges133 bronze badges

3

Bạn cũng có thể sử dụng jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 4 tại đây:

import pandas as pd df = pd.read_csv(mylist.csv)

Sau đó, nhận được cột đầu tiên dễ dàng như:

matrix2 = df[df.columns[0]].as_matrix() list2 = matrix2.tolist()

Điều này sẽ chỉ trả về cột đầu tiên trong jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 5. Bạn có thể muốn xem xét để lại dữ liệu trong jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 6, nếu bạn đang tiến hành hoạt động dữ liệu thêm về kết quả bạn nhận được.

Eyal Levin

14.7K5 Huy hiệu vàng66 Huy hiệu bạc55 Huy hiệu Đồng5 gold badges66 silver badges55 bronze badges

Đã trả lời ngày 4 tháng 10 năm 2016 lúc 0:59Oct 4, 2016 at 0:59

Alpacaalpacaalpaca

1.16112 Huy hiệu bạc23 Huy hiệu đồng12 silver badges23 bronze badges

1

Bạn nhập jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 7, nhưng sau đó không bao giờ sử dụng nó để thực sự đọc CSV. Sau đó, bạn mở jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 8 như một tệp bình thường, vì vậy khi bạn khai báo:

for row in f: list2.append(row[0])

Những gì bạn thực sự nói với Python là "lặp lại thông qua các dòng và nối phần tử đầu tiên của các dòng (đó sẽ là chữ cái đầu tiên) vào jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 2". Những gì bạn cần làm, nếu bạn muốn sử dụng mô -đun CSV, là:

import csv with open('mylist.csv', 'r') as f: csv_reader = csv.reader(f, delimiter=' ') for row in csv_reader: list2.append(row[0])

Đã trả lời ngày 23 tháng 9 năm 2016 lúc 14:14Sep 23, 2016 at 14:14

n1c9n1c9n1c9

2.6023 Huy hiệu vàng30 Huy hiệu bạc 50 Huy hiệu Đồng3 gold badges30 silver badges50 bronze badges

Bạn có thể sử dụng mô -đun jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 7:

jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 0

Bạn có thể thay đổi dấu phân cách import csv list2 = [] with open("mylist.csv") as f: for row in f: list2.append(row[0]) 1 thành import csv list2 = [] with open("mylist.csv") as f: for row in f: list2.append(row[0]) 2.

mkrieger1

16.2k4 Huy hiệu vàng50 Huy hiệu bạc58 Huy hiệu Đồng4 gold badges50 silver badges58 bronze badges

Được hỏi ngày 23 tháng 9 năm 2016 lúc 14:10Sep 9, 2020 at 17:25

1

Bạn nên jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 3 hàng và sau đó nối phần đầu tiên

jfj840398jgg hd883hb2kjsd jie9hgtrbu43 fjoi439jgnso 1

mkrieger1

16.2k4 Huy hiệu vàng50 Huy hiệu bạc58 Huy hiệu Đồng4 gold badges50 silver badges58 bronze badges

Được hỏi ngày 23 tháng 9 năm 2016 lúc 14:10Nov 27, 2020 at 3:13

Chủ đề