【发布时间】:2017-10-03 19:57:06
【问题描述】:
我想使用 python pandas 读取 json 文件。文件的每一行都是 JSON 中的一个完整对象。
我正在使用以下版本-
蟒蛇:2.7.6
熊猫:1.19.1
json 文件-
{"id":"111","p_id":"55","name":"aaa","notes":"","childs":[]}
{"id":"222","p_id":"56","name":"bbb","notes":"","childs":[]}
{"id":"333","p_id":"75","name":"ccc","notes":"","childs":[]}
{"id":"444","p_id":"76","name":"ddd","notes":"","childs":["abc","efg","pqr"
,"rtu"]}
我正在使用下面的代码来读取 json 文件-
df = pd.read_json("temp.txt", lines = True)
print df
问题是,在 json 文件中,“childs”键包含一组未知索引,并且在“\n”之间是可用的。所以如果我运行上面的代码,我会得到 ValueError: Expected object or value 但是如果我在“pqr”之后删除“\n”可用,我的代码就可以工作了。
我不想从我的数据中删除可用的“\n”。我想在我的代码中处理这个。我只想使用 python pandas 而不是 python json 库来以良好的方式处理数据。
我如何才能只使用 python pandas 并处理这种类型的文件?
【问题讨论】:
-
将整个文件读取为字符串并用换行符分割,然后你有4个json字符串,你可以简单地解析。
-
@Erik Šťastný- 好的,但是在用新行吐出数据后,如何在 pandas 数据框中维护这些数据?
-
让json文件的每一行都是有效的json,是更好的办法