2 回答

TA貢獻1786條經驗 獲得超11個贊
有很多方法可以做到這一點,具體取決于您的數據和您愿意使用的工具:
a) 用列表和標題逐行寫入 CSV
import csv
data_list = [
["Russia", "Moscow", "Russian"],
["US", "Washington, D.C.", "English"],
["Colombia", "Bogotá", "Spanish"]
]
header = ["col1", "col2", "col3"]
def write_csv_from_lists(data, header, filename):
with open(filename, "w") as csv_file:
csv_writer = csv.writer(csv_file)
csv_writer.writerow(header) # write header
for row in data:
csv_writer.writerow(row) # write each row
write_csv_from_lists(data_list, header, "file1.csv")
文件1.csv
col1,col2,col3
Russia,Moscow,Russian
US,"Washington, D.C.",English
Colombia,Bogotá,Spanish
b) 用字典和標題逐行寫入 CSV
import csv
data_dict = [
{"col1": "Russia", "col2": "Moscow", "col3": "Russian"},
{"col1": "US", "col2": "Washington, D.C.", "col3": "English"},
{"col1": "Colombia", "col2": "Bogotá", "col3": "Spanish"}
]
header = ["col1", "col2", "col3"]
def write_csv_from_dicts(data, header, filename):
with open(filename, "w") as csv_file:
dict_writer = csv.DictWriter(csv_file, fieldnames=header)
dict_writer.writeheader() # write header
for row in data:
dict_writer.writerow(row) # write each row
write_csv_from_dicts(data_dict, header, "file2.csv")
文件2.csv
col1,col2,col3
Russia,Moscow,Russian
US,"Washington, D.C.",English
Colombia,Bogotá,Spanish
c) 用 Pandas 編寫 CSV
import pandas as pd
data_dict = [
{"col1": "Russia", "col2": "Moscow", "col3": "Russian"},
{"col1": "US", "col2": "Washington, D.C.", "col3": "English"},
{"col1": "Colombia", "col2": "Bogotá", "col3": "Spanish"}
]
def write_csv_pandas(data, filename):
pd.DataFrame(data).to_csv(filename, index=False)
write_csv_pandas(data_dict, "file3.csv")
文件3.csv
col1,col2,col3
Russia,Moscow,Russian
US,"Washington, D.C.",English
Colombia,Bogotá,Spanish

TA貢獻1829條經驗 獲得超4個贊
您可以使用它來添加標題:
header = "col1,col2,col3"
with open('file.csv','w') as my_csv:
my_csv.write(header+'\n')
關于用數據填充 CSV,這將取決于您將用作源的原始數據。
添加回答
舉報