import csv
import json
import sys
csv_file = open('a1.csv','rU')
fields = ["bacteria", "Penicillin", "Streptomycin", "Neomycin", "Gram_Staining"]
csv_reader = csv.DictReader(csv_file, fields)
json_file = open('json_out.json', 'w')
json_reader = json.dumps([r for r in csv_reader], indent=0)
jsontodict = json.loads(json_reader)
json_file.write(json_reader)
我正在将一个简短的CSV文件转换为JSON,以便稍后我可以使用D3添加可视化。 代码服务于其目的,但我想了解它是如何工作的。 (它是从网站上获得的)
Q1:DictReader是否返回DICT对象?当我试图打印返回对象时,它是一个“读者”对象;因此它是不可打印的,我无法操作它(搜索等)。
Q2:如何用以下方法替换json.dumps(...)行? 对于csv_reader中的r: json_reader = json.dumps([r],indent = 0)
答案 0 :(得分:0)
Q1:DictReader返回一个reader对象 - 一个迭代器,它在每次迭代时返回一个dict。您无法直接打印,但如果需要,list(rdr)会将其转换为列表。
Q2:json.dumps(list(rdr),indent = 0)... [rdr]表示包含DictReader的列表。