如何用熊猫编辑大型json文件?

时间:2019-02-07 07:34:22

标签: json pandas

我有一个200mb的txt文件,其中包括大约25k JSON文件(元数据和报纸文章的内容)。现在,我想对数据进行操作,以使文件更小,并且只包含与我的分析相关的数据(16列中只有3列)。

问题:

如何删除/删除pandas数据框中的列,并确保对.json文件的这些更改安全?

JSON:

{"_version_":1609422219455234049,

"content": " abc ",

"docType":"shNews",

"id":"SNW_000050a3-38c6-4794-8e73-3ab3464be248",

"publishDate":"2017-08-16T16:01:018Z",

"stakeholderId":482,

"status":"BlackListed",

"systemDate":"2017-08-16T17:42:010Z"

"tags2":"type_de_Institution;subtype_de_Administration;industry_de_Staat;continent_de_Europa;country_de_Deutschland;level_de_National;highrelevance_eu_0;"

,"title":"Waffen schaffen keine Sicherheit. Von Außenminister Sigmar Gabriel",

"url":"http://www.auswaertiges-amt.de/sid_A5AB4A9D659FF8612B357392137BE7EB/DE/Infoservice/Presse/Interviews/2017/170816-BM_Rheinische_Post.html"}

代码:

import pandas as pd

articles=pd.read_json('/Users/Flo/export_harnisch.json', lines=True, orient='columns')

print (type (articles))

df = pd.DataFrame(articles)

df[df['tags2'].str.contains('country_de_Deutschland')==True]

我已经尝试过了:

df.to_json ("example_name.json")

我尝试过的行的实际结果是一个比原始文件大的json文件,atom无法读取它。此外,我在数据框中所做的更改(列的删除/删除)不应用于我PC上的.json文件。

1 个答案:

答案 0 :(得分:0)

import pandas as pd


df = pd.read_json('/Users/Flo/export_harnisch.json', lines=True, orient='columns')

# read_json should convert things into dataframe already
print(type(articles))

# you forgot to re assign df
df = df[df['tags2'].str.contains('country_de_Deutschland')==True]

df.to_json("example_name.json")