python编写程序将CSV格式文件与json文件格式互相转换。
时间: 2023-07-16 13:15:48 浏览: 108
下面是一个简单的Python程序,可以实现CSV格式文件与JSON文件格式之间的相互转换:
```python
import csv
import json
# 将CSV文件转换为JSON文件
def csv_to_json(csv_file_path, json_file_path):
with open(csv_file_path, 'r') as csv_file:
csv_reader = csv.DictReader(csv_file)
data = [row for row in csv_reader]
with open(json_file_path, 'w') as json_file:
json_file.write(json.dumps(data))
# 将JSON文件转换为CSV文件
def json_to_csv(json_file_path, csv_file_path):
with open(json_file_path, 'r') as json_file:
data = json.load(json_file)
headers = list(data[0].keys())
with open(csv_file_path, 'w', newline='') as csv_file:
csv_writer = csv.DictWriter(csv_file, fieldnames=headers)
csv_writer.writeheader()
csv_writer.writerows(data)
# 示例使用
csv_file_path = 'data.csv'
json_file_path = 'data.json'
csv_to_json(csv_file_path, json_file_path)
json_to_csv(json_file_path, csv_file_path)
```
在此示例中,我们定义了两个函数:`csv_to_json` 和 `json_to_csv`。这些函数分别将CSV文件转换为JSON文件和将JSON文件转换为CSV文件。
示例使用中,我们假设我们有一个名为 `data.csv` 的CSV文件和一个名为 `data.json` 的JSON文件。我们首先使用 `csv_to_json` 函数将CSV文件转换为JSON文件,然后使用 `json_to_csv` 函数将JSON文件转换回CSV文件。
需要注意的是,CSV文件中的第一行作为表头,因此我们使用 `csv.DictReader` 函数来读取CSV文件,并使用 `[row for row in csv_reader]` 将每一行数据转换为一个字典。对于JSON文件,我们使用 `json.load` 函数来读取文件并将其转换为Python对象。在转换为CSV文件时,我们首先将第一行作为表头写入文件,然后使用 `csv.DictWriter` 函数将数据写入文件。
阅读全文