我有一个.gz类型的文件,其中包含JSON对象,如下所示:input:
{ "name":"John", "age":21, "gender":"male" }
{ "name":"Mike", "age":29, "gender":"male" }
{ "name":"Tim", "age":20, "gender":"male" }
{ "name":"Kim", "age":39, "gender":"female" }
注意:注意每个JSON obj的末尾没有逗号。
我使用以下命令将其保存到 Dataframe :
import pandas as pd
data_location = 's3://myBucket/myFolder'
raw_json_data = pd.read_json(data_location, lines=True)
raw_json_data.head(2)
问:我想把它转换成CSV,可能是这样的:expected output:
name, age, gender
John, 21, male
Mike, 29, male
Tim, 20, male
Kim, 39, female
我使用了这个,但是没有工作以给予预期的输出-我错过了什么吗?
df=pd.read_json(raw_json_data)
df.to_csv('results.csv')
2条答案
按热度按时间fruv7luv1#
首先,您可以创建包含一列字典的 Dataframe
您可以使用json_normalize将各个字典转换为 Dataframe
上述输出将是一系列 Dataframe ,要将其转换为单个 Dataframe ,您可以执行以下操作
7eumitmz2#
.gz
文件,其中有一个.json
文件。pathlib
方法读入文件,然后将行拆分为list
或strings
Path('test.json')
:'test.json()'
可以是文件的路径(如果文件位于其他目录中)。ast.literal_eval
将strings
转换为dicts
从
.gz
文件读取json
模块阅读这些行会出现问题,因为数据不是正确格式的.json
文件。