python - json数组到熊猫数据框并将其写入csv
问题描述
我有一个如下所示的 json 数组,我想转换为 pandas 数据帧并最终将其写入 csv。
我从列表中有一个数字列作为 l[0],我想将它添加到 df 并将所有内容写入 csv。
[{'value': ' 5644427289 ', 'page_num': '0', 'score': '0.9', 'coord': '["(Decimal(\'90.000\')", " Decimal(\'257.163\')", " Decimal(\'362.250\')", " Decimal(\'307.683\'))"]', 'height': '50.51999999999998', 'width': '272.25'}]
我只想将 value、page_num 和 score 写入我的 df,而且我还有一个 l[0] 到我的 df,最后将其写入 csv。
对于范围内的 s(len(json_obj)):
op_json='{"value":"' + str(json_obj[s]["value"]) + '","page_num":"' + str(json_obj[s]["page_num"]) + '", "score":"' + str(json_obj[s]["score"]) + '"}'
print(op_json)
df =pd.DataFrame(None)
df = json_normalize(op_json)
if os.path.exists(r'/data/results/0101/a.csv'):
df.to_csv(r'/data/results/0101/a.csv',mode='a', index=False, header=False)
else:
df.to_csv(r'/data/results/0101/a.csv', mode='a', index=False, header=True)
解决方案
l = [{'value': ' 5644427289 ', 'page_num': '0', 'score': '0.9', 'coord': '["(Decimal(\'90.000\')", " Decimal(\'257.163\')", " Decimal(\'362.250\')", " Decimal(\'307.683\'))"]', 'height': '50.51999999999998', 'width': '272.25'}]
pd.DataFrame(l)[['value', 'page_num', 'score']].to_csv('file.csv',index=False)
value page_num score
0 5644427289 0 0.9
推荐阅读
- android - 如何将主类模型的数据传递给kotlin中的子类模型
- crystal-reports - 如何在 SAP B1 Crystal Reports 字段资源管理器中添加字段
- bootstrap-4 - 使用 Bootstrap 的 ASP.NET Core MVC 中的可点击磁贴
- python - 检查列表中的单词是否拼写正确
- java - 在 Ubuntu WSL 中运行 bash 脚本时出现不一致的 S3 参数验证错误
- firebase - Firestore 中的 Dialogflow 更新用户
- java - 在 Spring Batch 中使用 Teradata - 缺少方法 isWrapperFor
- python - 为什么我的神经网络使用 Jax 不收敛?
- c++ - C ++中类字段对齐和对象实例对齐之间的关系?
- vue.js - API Vue js 的搜索栏