为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中写入csv?

如何在python中写入csv?

蓝山帝景 2021-05-30 19:14:58
我有一行:row = {'A':'valueA', 'B':'valueB', 'C':'valueC'}基本上我想打开一个新csv文件并在其列中写入每个值,例如 ---------------------------|   A     |  B     |   C    | ---------------------------|  ValueA | ValueB | ValueC | ---------------------------我正在这样做:def OandWtonew(filename, row):with open('Ouput1.csv', 'wt') as csvfile:    fileout = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)    fileout.writerow(row)但我得到的输出是: --------------------------------------------|   A           |  B           |  C          | --------------------------------------------|  'A':'valueA' | 'B':'valueB' | 'C':'valueC'| --------------------------------------------
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

由于数据是字典,因此csv.DictWriter()可能是最直接的方法。只需确保标头值列表按原始顺序排列即可,在这种情况下,这sorted()可能是最简单的:


with open('Ouput1.csv', 'wt') as csvfile:

    fieldnames = sorted(row.keys())  # needs to be the first line in correct order

    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()

    writer.writerow(row)             # writes corresponding value for key in header

//img1.sycdn.imooc.com//60b5f1d5000180f102170071.jpg

查看完整回答
反对 回复 2021-06-01
?
森林海

TA贡献2011条经验 获得超2个赞

row是 类型dict。从文档:


import csv

with open('names.csv', 'w') as csvfile:

    fieldnames = ['first_name', 'last_name']

    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)


    writer.writeheader()

    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})

    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})

    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})


查看完整回答
反对 回复 2021-06-01
  • 3 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信