21
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 tệp CSV, test.csv
, như được hiển thị:
1,2,3
a,b,c
d,e,f
Tôi muốn những điều trên trông giống như một từ điển như được hiển thị:
{"1":"a", "2":"b", "3":"c"}
{"1":"d", "2":"e", "3":"f"}
Trong đó tiêu đề 1,2,3
là các phím và các hàng là giá trị.
Tôi hoàn toàn không hiểu làm thế nào để hoàn thành việc này bằng cách sử dụng csv.dictreader. Các mẫu trên chỉ là một mẫu. Dữ liệu thực tế mà tôi đang làm việc có nhiều cột và do đó, tôi không thể truy cập từng hàng bằng cách sử dụng chỉ mục của nó và đặt chúng vào một từ điển theo cách thủ công.
Đã hỏi ngày 12 tháng 11 năm 2014 lúc 7:51Nov 12, 2014 at 7:51
user1452759user1452759user1452759
8.15613 Huy hiệu vàng40 Huy hiệu bạc54 Huy hiệu đồng13 gold badges40 silver badges54 bronze badges
2
Trả lời câu hỏi của riêng tôi. Sau khi cố gắng đôi khi, tôi vừa chơi xung quanh với nó thêm một chút và thêm vòng lặp cho.
with open["test.csv"] as f:
records = csv.DictReader[f]
for row in records:
print row
Điều này cung cấp cho đầu ra mong muốn của tôi về
{'1': 'a', '3': 'c', '2': 'b'}
{'1': 'd', '3': 'f', '2': 'e'}
Đã trả lời ngày 12 tháng 11 năm 2014 lúc 7:59Nov 12, 2014 at 7:59
user1452759user1452759user1452759
8.15613 Huy hiệu vàng40 Huy hiệu bạc54 Huy hiệu đồng13 gold badges40 silver badges54 bronze badges
1
Trả lời câu hỏi của riêng tôi. Sau khi cố gắng đôi khi, tôi vừa chơi xung quanh với nó thêm một chút và thêm vòng lặp cho.
Điều này cung cấp cho đầu ra mong muốn của tôi về
>>> a = open['/tmp/test.csv']
>>> a = csv.DictReader[open['/tmp/test.csv'], delimiter=',']
>>> [x for x in a]
[{'1': 'a', '3': 'c', '2': 'b'}, {'1': 'd', '3': 'f', '2': 'e'}]
Đã trả lời ngày 12 tháng 11 năm 2014 lúc 7:59
Theo mặc định, dòng đầu tiên sẽ lấy như FileDname trong
{"1":"a", "2":"b", "3":"c"}
{"1":"d", "2":"e", "3":"f"}
0Nov 12, 2014 at 8:06
0
Mã Python để đọc CSV thành mảng từ điểnGiới thiệu
firstname,lastname,address,city,state,pin
John,Doe,120 jefferson st.,Riverside, NJ, 08075
Jack,McGinnis,220 hobo Av.,Phila, PA,09119
"John ""Da Man""",Repici,120 Jefferson St.,Riverside, NJ,08075
Stephen,Tyler,"7452 Terrace ""At the Plaza"" road",SomeTown,SD, 91234
,Blankman,,SomeTown, SD, 00298
"Joan ""the bone"", Anne",Jet,"9th, at Terrace plc",Desert City,CO,00123
Mã Python để đọc CSV thành mảng từ điển
def read[filepath]:
content = []
with open[filepath] as csvfile:
csv_reader = csv.reader[csvfile]
headers = next[csv_reader]
for row in csv_reader:
row_data = {key: value for key, value in zip[headers, row]}
content.append[row_data]
return content
content = read["addresses.csv"]
print[content]
Đầu ra dưới dạng mảng từ điển
[{
'firstname': 'John',
'lastname': 'Doe',
'address': '120 jefferson st.',
'city': 'Riverside',
'state': ' NJ',
'pin': ' 08075'
}, {
'firstname': 'Jack',
'lastname': 'McGinnis',
'address': '220 hobo Av.',
'city': 'Phila',
'state': ' PA',
'pin': '09119'
}, {
'firstname': 'John "Da Man"',
'lastname': 'Repici',
'address': '120 Jefferson St.',
'city': 'Riverside',
'state': ' NJ',
'pin': '08075'
}, {
'firstname': 'Stephen',
'lastname': 'Tyler',
'address': '7452 Terrace "At the Plaza" road',
'city': 'SomeTown',
'state': 'SD',
'pin': ' 91234'
}, {
'firstname': '',
'lastname': 'Blankman',
'address': '',
'city': 'SomeTown',
'state': ' SD',
'pin': ' 00298'
}, {
'firstname': 'Joan "the bone", Anne',
'lastname': 'Jet',
'address': '9th, at Terrace plc',
'city': 'Desert City',
'state': 'CO',
'pin': '00123'
}]
Tiếp theo
Giả sử chúng ta có CSV một cái gì đó tương tự như sau: