我的大型数据集包含一组数字
从服务器获取数据
每行数据都是这样的:
{"body_data":[
{'height': 170.00, 'weight': 165.00, 'blood': 3.00, 'sugar': 100.02, 'fat': 36.02, 'time_object': 1544443260000},
{'height': 170.00, 'weight': 165.00, 'blood': 3.00, 'sugar': 100.02, 'fat': 36.02, 'time_object': 1544443260000},
],"symbol":"DATA_FAT","empty":false}
我试图将数据保存为* .json格式,将其导入为新文件并用csv重写,但出现错误。
我尝试对pandas使用以下代码:
df = pd.DataFrame.from_dict(data, orient='index',columns=['open', 'height', 'weight', 'blood', 'sugar', 'fat', 'time_object'])
它给了我以下错误:
File "pandas/_libs/src/inference.pyx", line 1517, in pandas._libs.lib.to_object_array
TypeError: object of type 'bool' has no len()
任何人都可以帮助我
答案 0 :(得分:2)
我相信您需要选择嵌套键body_data
:
df = pd.DataFrame(data['body_data'])
print (df)
blood fat height sugar time_object weight
0 3.0 36.02 170.0 100.02 1544443260000 165.0
1 3.0 36.02 170.0 100.02 1544443260000 165.0
如果要更改列的顺序(open
键不在示例数据中,则在输出中有NaN
个):
df = pd.DataFrame(data['body_data'],
columns=['open', 'height', 'weight', 'blood', 'sugar', 'fat', 'time_object'])
print (df)
open height weight blood sugar fat time_object
0 NaN 170.0 165.0 3.0 100.02 36.02 1544443260000
1 NaN 170.0 165.0 3.0 100.02 36.02 1544443260000