我正在尝试制作一个程序,可以将过滤后的JSON文件的结果保存为CSV。现在我的函数只保存JSON的密钥到CSV文件。
理想情况下,我希望函数接受两个参数:它正在搜索的column (key);和它正在搜索的项(值)。
这是我当前的功能:
def save_csv(key, value):
with open('db.json') as json_file:
info = json.load(json_file)
test = info['data']
csv_file = open('test.csv', 'w')
csv_writer = csv.writer(csv_file)
count = 0
for e in test:
if count == 0:
header_csv = e.keys()
csv_writer.writerow(header_csv)
count += 1
for e in key:
if e == value:
csv_writer.writerow(e.values())
csv_file.close()
我怎么能改变这个功能,使其保存在CSV中过滤的结果?
无论我尝试做什么更改,它只会将密钥保存到CSV的头部。我过滤的结果都不会保存到CSV。
def save_csv(key, value):
with open('db.json') as json_file:
info = json.load(json_file)
test = info['data']
with open('test.csv', 'w', newline='') as csv_file:
csv_writer = csv.writer(csv_file)
for n,v in enumerate(test):
if not n:
header_csv = e.keys()
csv_writer.writerow(header_csv)
if key in v and v.get(key)==value:
csv_writer.writerow(e.values())