【发布时间】:2021-12-21 17:29:39
【问题描述】:
我一直在尝试使用 populartimes 库中的一个函数,该函数返回一个 json 文件,其中包含有关使用此资源链接 https://github.com/m-wrzr/populartimes 的地点的信息。
import populartimes
import pandas as pd
import json
import csv
r = populartimes.get_id("API KEY","ChIJSYuuSx9awokRyrrOFTGg0GY")
display(r)
函数的输出是json:
{'id': 'ChIJSYuuSx9awokRyrrOFTGg0GY',
'name': 'Gran Morsi',
'address': '22 Warren St, New York, NY 10007, USA',
'types': ['restaurant', 'food', 'point_of_interest', 'establishment'],
'coordinates': {'lat': 40.714315, 'lng': -74.007766},
'rating': 4.4,
'rating_n': 407,
'international_phone_number': '+1 212-577-2725',
'populartimes': [{'name': 'Monday',
'data': [0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0]},
{'name': 'Tuesday',
'data': [0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
30,
40,
50,
54,
48,
32,
0]},
{'name': 'Wednesday',
'data': [0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
31,
43,
52,
53,
45,
32,
0]},
{'name': 'Thursday',
'data': [0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
49,
69,
80,
78,
62,
39,
0]},
{'name': 'Friday',
'data': [0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
49,
58,
67,
71,
67,
52,
0]},
{'name': 'Saturday',
'data': [0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
63,
77,
92,
100,
92,
69,
0]},
{'name': 'Sunday',
'data': [0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0]}],
'time_spent': [90, 210]}
我希望将 json 转换为 csv 文件,但通常的 pandas 库在输出上无法正常工作并返回不同的错误。我使用不同的方法进行了故障排除。
如果我使用
df = pd.DataFrame(r)
它返回 ValueError “将字典与非系列混合可能导致顺序不明确。”
如果我使用
data = json.dumps(r)
df = pd.DataFrame(data[populartimes])
返回类型错误:字符串索引必须是整数
如果我使用
data = json.loads(r)
返回TypeError:JSON对象必须是str、bytes或bytearray,而不是dict
基本上我要做的是将此 json 写入 csv 文件,其中 json 中的标题是 csv 文件中的列,而值将位于列下。在我能够将这个单个 json 写入 csv 之后,我希望使多个 json 条目成为 csv 文件成为可能。任何人都可以帮助将此 json 写入 csv 文件吗?
【问题讨论】:
-
你能分享你遇到的错误吗?就目前而言,我们所要做的就是“有些东西坏了”。
-
您想将输出附加到现有的 CSV 文件中,还是返回一个可能是 CSV 文件行的“字符串”?我不确定你要做什么。
-
我想将输出转换为 csv 文件,例如 pandas_to.csv 创建一个数据帧的新 csv 文件。
-
我已经更新了描述中的错误
-
没有简单直接的方法可以将任意 JSON 格式化为 CSV。也许看到stackoverflow.com/questions/65338470/…
标签: python json pandas csv google-maps