11
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
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
15.8k4 Huy hiệu vàng46 Huy hiệu bạc57 Huy hiệu Đồng4 gold badges46 silver badges57 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ênlist2 = []
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
75,8K8 Huy hiệu vàng124 Huy hiệu bạc133 Huy hiệu đồng8 gold badges124 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.4K5 Huy hiệu vàng65 Huy hiệu bạc55 Huy hiệu Đồng5 gold badges65 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ạc22 Huy hiệu đồng12 silver badges22 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ạc49 Huy hiệu đồng3 gold badges30 silver badges49 bronze badges
Bạn có thể sử dụng mô -đun
jfj840398jgg
hd883hb2kjsd
jie9hgtrbu43
fjoi439jgnso
7:jfj840398jgg
hd883hb2kjsd
jie9hgtrbu43
fjoi439jgnso
0Bạ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
15.8k4 Huy hiệu vàng46 Huy hiệu bạc57 Huy hiệu Đồng4 gold badges46 silver badges57 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ênjfj840398jgg
hd883hb2kjsd
jie9hgtrbu43
fjoi439jgnso
1
mkrieger1
15.8k4 Huy hiệu vàng46 Huy hiệu bạc57 Huy hiệu Đồng4 gold badges46 silver badges57 bronze badges
Được hỏi ngày 23 tháng 9 năm 2016 lúc 14:10Nov 27, 2020 at 3:13