python 把json文件读成csv
时间: 2023-08-02 12:09:22 浏览: 96
可以使用Python的内置模块`json`和`csv`来将JSON文件读取并转换为CSV格式。
首先,你需要使用`json`模块读取JSON文件的内容。然后,将JSON数据转换为Python对象,例如字典或列表。接下来,你可以使用`csv`模块将Python对象写入CSV文件。
下面是一个示例代码,演示了如何将JSON文件读取为CSV文件:
```python
import json
import csv
def json_to_csv(json_file, csv_file):
with open(json_file, 'r') as f:
json_data = json.load(f)
if isinstance(json_data, list):
data = json_data
elif isinstance(json_data, dict):
data = [json_data]
else:
raise ValueError('Invalid JSON data')
with open(csv_file, 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
# 指定JSON文件路径和要输出的CSV文件路径
json_file = 'input.json'
csv_file = 'output.csv'
# 调用函数进行转换
json_to_csv(json_file, csv_file)
```
在这个示例中,我们定义了一个名为`json_to_csv`的函数。它接受JSON文件的路径和要输出的CSV文件的路径作为参数。函数首先使用`json.load()`方法从JSON文件中读取数据,并将其存储在变量`json_data`中。然后,根据数据类型,我们将其转换为一个列表(如果是一个字典)或保持不变(如果是一个列表)。
接下来,我们使用`csv.DictWriter`创建一个写入CSV文件的对象。我们使用数据的第一个元素的键作为CSV文件的标题行,并使用`writerows()`方法将数据写入CSV文件。
最后,你可以调用`json_to_csv(json_file, csv_file)`来执行转换。请确保将`input.json`替换为你的JSON文件的路径,并将`output.csv`替换为你想要输出的CSV文件的路径。
这样,你就可以将JSON文件读取并保存为CSV文件了。
阅读全文