python - 嵌套数据到 csv python

标签 python json csv

我有一个嵌套的 json 数据文件。我正在尝试“get.some_object”并用这些对象编写一个 csv 文件(我认为它们被称为对象:“some_object”:“some_value”);我想要每组嵌套项目一行。这是我的代码:

import csv
import json

path = 'E:/Uni Arbeit/Prof Hayo/Sascha/Bill data/97/bills/hr/hr4242'

outputfile = open('TaxLaw1981.csv', 'w', newline='')                            
outputwriter = csv.writer(outputfile)

with open(path + "/" + "/data.json", "r") as f:
    data = json.load(f)

    for act in data['actions']:
        a = act.get('acted_at')
        b = act.get('text')
        c = act.get('type')

        outputwriter.writerow([a, b, c])
outputfile.close()       

我遇到的问题是它只将最后一组数据写入csv;然而当我运行时

with open(path + "/" + "/data.json", "r") as f:
data = json.load(f)

for act in data['actions']:

    a = act.get('acted_at')
    b = act.get('text')
    c = act.get('type')
    print (a) 

我所有的“a”值都打印出来了。

建议?

最佳答案

您需要刷新您的outputwriter 以将行写入文件,否则它将继续替换变量中的行并最终只写入最后一个值。 Writerow 仅在您关闭文件时起作用,除非您刷新数据。

for act in data['actions']:
        a = act.get('acted_at')
        b = act.get('text')
        c = act.get('type')
        outputwriter.writerow([a, b, c])
        outputfile.flush()

关于python - 嵌套数据到 csv python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897237/

相关文章:

python - 使用 python Dedupe 包检查单个记录

python - 将相同的值分配给python中列表中的不同位置

r - 重复 'row.names' 不允许错误

json - 在 bash 脚本中,如何删除 JSON 数据集 {} 中双引号之间的所有双引号

php - fgetcsv 按 $fileop 顺序插入值

java - 输入到csv文件中的包含逗号的字符串

Python:如何从视频中获取显示纵横比?

python - 如何更改 AWS 中 API 授权方的错误消息?

Java:JSONObject继承

android - java.lang.NullPointerException 在 HttpGet httpGet = new HttpGet(url);