在单独的行上使用'key:value'将字典写入csv文件

时间:2017-12-14 13:18:45

标签: python csv dictionary

我有一本字典:

mydict = {id: num, cityid: loc, days: tem}

我原来的sample.csv看起来像这样:

id, cityid, days
1,45,78
3,67,79
6,76,86

我想将数据写入文件sample.csv,采用以下样式:

id, cityid, days 
num, loc, tem
1,45,78
3,67,79
6,76,86

1 个答案:

答案 0 :(得分:1)

以下是在工作目录中读取文件“test.csv”的示例。 mydict的键必须等于你的csv的第一行。

1 - 读取CSV文件并将信息放入列表

import csv

filename = 'test.csv'
with open(filename, 'rb') as f:
    reader = csv.reader(f)
    rows = list(reader)

2 - 为标题创建字典 mydict (注意CSV的第一行必须包含 mydict的键

mydict = {id: num, cityid: loc, days: tem}

3 - 重写csv文件,首先写入 rows [0] ,然后是 header_dict 键,然后是剩余的

with open(filename, 'wb') as f:
    a = csv.writer(f)
    a.writerow(rows[0])
    a.writerow([mydict[key] for key in rows[0]])
    a.writerows(rows[1:])