csv文件在“ w”模式下无法写入

时间:2019-06-03 05:19:34

标签: python python-3.x

我在写入模式下的csv文件有问题,它无法成功写入文件

import csv
import json

result_log={'url':'http://google.com','timeSeries':'2019, 6, 3, 10, 29, 10'}
rows = json.loads(str(result_log))

r = zip(*rows.values())
fieldnames = ['url', 'timeSeries']
with open('process_upc.csv', 'w') as f:
dict_writer = csv.writer(f)
dict_writer.writerow(fieldnames)
for d in r:
    dict_writer.writerow(d)

输出:期望属性名称用双引号引起来:第1行第2列(字符1)

1 个答案:

答案 0 :(得分:0)

  • 您不需要通过json.loads将字典转换为字符串,可以在写入csv时按原样使用字典。
  • 如果要将字典转换为字符串,则应改为json.dumps(result_log)
  • 要获取字典的值,您只需执行result_log.values(),并且您想一次调用writerow来写值

因此,您的更新代码将为

import csv
import json

result_log={"url":"http://google.com","timeSeries":"2019, 6, 3, 10, 29, 10"}

#Get the values of the dictionary
r = result_log.values()
fieldnames = ['url', 'timeSeries']
with open('process_upc.csv', 'w') as f:
    dict_writer = csv.writer(f)
    dict_writer.writerow(fieldnames)

    #Write the values to csv
    dict_writer.writerow(r)

输出将是

url,timeSeries
http://google.com,"2019, 6, 3, 10, 29, 10"