我从here下载了一个示例数据集,它是一系列JSON对象。
{...}
{...}
我需要将它们加载到熊猫数据框。我尝试了下面的代码
import pandas as pd
import json
filename = "sample-S2-records"
df = pd.DataFrame.from_records(map(json.loads, "sample-S2-records"))
但是似乎存在解析错误
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
我想念什么?
答案 0 :(得分:2)
该函数需要一个JSON对象列表。例如, 数据= [json_obj_1,json_obj_2,....]
该文件不包含list的语法,仅包含一系列JSON对象。以下将解决问题:
import pandas as pd
import json
# Load content to a variable
with open('../sample-S2-records/sample-S2-records', 'r') as content_file:
content = content_file.read().strip()
# Split content by new line
content = content.split('\n')
# Read each line which has a json obj and store json obj in a list
json_list = []
for each_line in content:
json_list.append(json.loads(each_line))
# Load the json list in form of a string
df = pd.read_json(json.dumps(json_list))
答案 1 :(得分:1)
您可以尝试pandas.read_json
方法:
import pandas as pd
data = pd.read_json('/path/to/file.json', lines=True)
print data
我已经使用此文件对其进行了测试,效果很好