无法使用 Python 将 JSON 文件转换为 CSV

Posted

技术标签:

【中文标题】无法使用 Python 将 JSON 文件转换为 CSV【英文标题】:Unable to convert JSON file to CSV using Python 【发布时间】:2016-02-08 23:32:26 【问题描述】:

我正在尝试将以下 JSON 文件转换为 csv 文件。

JSON 文件

[
"SubmitID":1, "Worksheet":3, "UserID":65,
 "Q1":"395",
 "Q2":"2178",
 "Q3":"2699",
 "Q4":"1494",
 "SubmitID":2, "Worksheet":3, "UserID":65,
  "Q4":"1394",
 "SubmitID":3, "Worksheet":4, "UserID":65,
  "Q1":"1629",
  "Q2":"1950",
  "Q3":"0117",
  "Q4":"1816",
 "Empty":" "]

但是,我下面的 Python 代码给出了错误消息“TypeError: Expected String or Unicode”。我可以知道我应该如何修改我的程序以使其正常工作吗?

import json
import pandas as pd

f2 = open('temp.json')
useful_input = json.load(f2)
df=pd.read_json(useful_input)
print(df)
df.to_csv('results.csv')

【问题讨论】:

【参考方案1】:

您只需要将地址字符串传递给pd.read_json()

df=pd.read_json("temp.json")

【讨论】:

【参考方案2】:

你不必使用 json 模块:

试试:

import pandas as pd

df=pd.read_json("temp.json")
print(df)
df.to_csv('results.csv')

【讨论】:

【参考方案3】:
import pandas as pd
df = pd.read_json('data.json')
df.to_csv('data.csv', index=False, columns=['title', 'subtitle', 'date', 'description'])

import pandas as pd
df = pd.read_csv("data.csv")
df = df[df.columns[:4]]
df.dropna(how='all')
df.to_json('data.json', orient='records')

【讨论】:

以上是关于无法使用 Python 将 JSON 文件转换为 CSV的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中将嵌套的 JSON 转换为 CSV 文件

无法将 .json 文件从 CSV 下载到 JSON 转换并且无法将 JSON 转换为 CSV

使用 Python 将 CSV 文件数据转换为 JSON 格式

python 使用eval() 可以将json格式的数据,转换为原始数据

python中json文件如何转换为外部链接

使用 Python 将 4 级嵌套 JSON 文件转换为 1 级嵌套