如何解决通过API的Python + Pandas JSON Url调用:无法将结果保存为CSV索引问题标量值
尝试做一个简单的脚本另存为csv。我的python版本是3.8.3,我正在使用窗口10。 我正在尝试使用工具pandas:https://pandas.pydata.org
我正在尝试从URL https://barcode.monster/api/3061990141101
获取数据结果。我安装了Pandas将JSON文件转换为csv。有一个“索引”问题。我发现没有答案有效。
如果使用所有标量值,则必须输入索引。
我在Google和论坛上四处浏览,并尝试添加"index_col=0"
和"index=false"
。
下面是我的python脚本:
with urllib.request.urlopen("https://barcode.monster/api/3061990141101") as url:
data = json.loads(url.read().decode())
print(data)
with open('data.json',encoding='utf-8-sig') as f_input:
df = pd.read_json(f_input,index_col=0)
df.to_csv('test.csv',encoding='utf-8',index=False)
我确定这对于任何Python开发人员都是显而易见的,我只是从头开始学习。非常感谢。
解决方法
有很多方法可以解决此问题。如果要使用打开文本文件,则需要将字符串转换为json。尝试使用DataFrame
。这样做可以调用with open('data.json',"r") as f_input:
text = f_input.read()
jsonData = json.loads(text)
df = pd.DataFrame(jsonData,index=[0])
df.to_csv('test.csv',encoding='utf-8',index=False)
。然后,您需要将索引设置为第一项,或者将json数据包装在json对象中。
例如:
with open('data.json','r') as f:
data = json.load(f)
df = pd.DataFrame({'data': data})
df.to_csv('test.csv',index=False)
或者:
aggregate
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。