簡體   English   中英

在python中使用csv文件創建字典文件

[英]Creating dictionary file using a csv file in python

import csv

keys = ["id", "name", "age", "height", "weight"]
 
with open('temp.csv', 'w') as temp_file:
    dict_writer_obj = csv.DictWriter(temp_file, fieldnames = keys) 
    
    with open('dictReader.csv','r') as file:
        dict_reader_obj = csv.DictReader(file) 
        
        dict_writer_obj.writeheader()
        dict_writer_obj.writerows(file)

我想將名為 dictReader.csv 文件的 csv 文件轉換為基於字典的文件:但是我收到以下錯誤。 有任何想法嗎? AttributeError: 'str' 對象沒有屬性 'keys'

我的 dictReader.csv 文件內容:

id,name,age,height,weight
1,Alice,20,62,120.6
2,Freddie,21,74,190.6
3,Bob,17,68,120.0

具有此格式的名為 temp.csv 的所需輸出文件


{'id': '1', 'name': 'Alice', 'age': '20', 'height': '62', 'weight': '120.6'}
{'id': '2', 'name': 'Freddie', 'age': '21', 'height': '74', 'weight': '190.6'}
{'id': '3', 'name': 'Bob', 'age': '17', 'height': '68', 'weight': '120.0'}

為了稍微改進其他用戶的答案,您仍然可以使用這樣的writerows

import csv

keys = ["id", "name", "age", "height", "weight"]
 
with open('temp.csv', 'w') as temp_file:
    dict_writer_obj = csv.DictWriter(temp_file, fieldnames = keys) 

    with open('dictReader.csv','r') as file:
        dict_reader_obj = csv.DictReader(file) 
        dict_writer_obj.writeheader()
        # Here:
        dict_writer_obj.writerows(row for row in dict_reader_obj)

只是改變:

dict_writer_obj.writerows(file)

到:

dict_writer_obj.writerows(row for row in dict_reader_obj)

或者使用.writerow()

for row in dict_reader_obj:
    dict_writer_obj.writerow(row)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM