json和csv格式转换
时间: 2023-07-03 11:31:37 浏览: 240
JSON和CSV格式是两种常见的数据格式,可以使用Python内置的`json`和`csv`模块来进行转换。
下面是将JSON转换为CSV的示例代码:
```python
import json
import csv
# 读取JSON文件
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# 提取需要的数据
rows = []
for item in data:
row = [item['name'], item['age'], item['gender']]
rows.append(row)
# 写入CSV文件
with open('data.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Name', 'Age', 'Gender'])
writer.writerows(rows)
```
在这个例子中,我们首先使用`json.load()`方法读取JSON文件,然后提取需要的数据并存储在一个列表中。最后,使用`csv.writer()`方法将数据写入CSV文件。
下面是将CSV转换为JSON的示例代码:
```python
import csv
import json
# 读取CSV文件
with open('data.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
headers = next(reader)
rows = [row for row in reader]
# 构造JSON数据
data = []
for row in rows:
item = {'name': row[0], 'age': int(row[1]), 'gender': row[2]}
data.append(item)
# 写入JSON文件
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
```
在这个例子中,我们首先使用`csv.reader()`方法读取CSV文件,并提取文件头和数据行。然后,我们使用这些数据构造一个JSON对象,并使用`json.dump()`方法将其写入JSON文件。
希望这些代码可以帮助您完成JSON和CSV格式之间的转换。
阅读全文