python - 如何在 pandas python 中将嵌入的 JSON 文件转换为 CSV
问题描述
嗨,我收到了以下格式的 JSON 文件,请告诉我如何解析这个 JSOn 文件并将它们转换为 CSV
JSON文件格式
{'Sections': [{'MC': [[{'IsMandatory': False,
'LD': None,
'propNameValuepair': [{'PropertyType': 0,
'columnSize': 0,
'isEnabled': False,
'isStructured': False,
'isUpdated': False,
'propDisplayName': 'CC',
'propName': 'u4_c_c',
'propValue': 'Bottle',
'selectedComponent': None,
'tcProperty': None},
{'PropertyType': 0,
'columnSize': 0,
'isEnabled': False,
'isStructured': False,
'isUpdated': False,
'propDisplayName': 'Com Com',
'propName': 'u4_com_com',
'propValue': 'Multi-layer',
'selectedComponent': None,
'tcProperty': None},
代码
import json
with open('a.json') as data_file:
data = json.load(data_file)
import pandas as pd
df = pd.concat([pd.DataFrame(x) for x in data], ignore_index=False)
print(df)
错误:
ValueError:未正确调用 DataFrame 构造函数!
解决方案
也许您可以先将 json 文件转换为 DataFrame 对象:
df = pd.read_json('file.json')
然后用内置方法转换它:df.to_csv()
注意:在读取 JSON 时,您必须根据带有“orient”属性的 json 格式调整读取参数:
df = pd.read_json('file.json', orient="records")
orient =“记录|索引|列|值|表”
推荐阅读
- python - 为什么这个 pandas str.extract 模式有效?
- c# - 在 C# 中将 CSV 导出到 SQL - 如何将导出偏移一列
- python-3.x - 如何从 Couchbase 中另一个存储桶中的字段更新存储桶中的字段?
- laravel - 如何通过 Izitoast 显示错误消息
- json - Logstash 包装 json 对象
- python - 随机模块中的参考问题
- python - 如何使 APScheduler ProcessPoolExecutor 在完成后关闭进程并仅生成它需要的进程?
- java - 休眠生成的错误查询
- c - C 中有什么东西可以阻止我的大量数字变成“6.95278e-310”。我想打印完整的号码
- python-3.x - 无法在 python 中使用 gphoto2 打开相机