编写一个程序,根据输入参数不同实现 CSV 格式文件与 JSON 格式文件的互 相转换。(如输入指定参数 cj:从 CSV 到 JSON; jc:从 JSON 到 CSV
时间: 2024-04-14 15:28:32 浏览: 94
你可以使用 Python 的 `csv` 和 `json` 模块来实现 CSV 文件和 JSON 文件之间的转换。下面是一个示例代码,根据不同的参数实现 CSV 到 JSON 和 JSON 到 CSV 的转换:
```python
import csv
import json
def csv_to_json(csv_file, json_file):
data = []
with open(csv_file, 'r') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
data.append(row)
with open(json_file, 'w') as jsonfile:
jsonfile.write(json.dumps(data, indent=4))
def json_to_csv(json_file, csv_file):
with open(json_file, 'r') as jsonfile:
data = json.load(jsonfile)
keys = data[0].keys()
with open(csv_file, 'w', newline='') as csvfile:
writer = csv.DictWriter(csvfile, keys)
writer.writeheader()
writer.writerows(data)
# 示例调用
csv_to_json('data.csv', 'data.json')
json_to_csv('data.json', 'data.csv')
```
在这个示例代码中,`csv_to_json` 函数接受一个 CSV 文件名 `csv_file` 和一个 JSON 文件名 `json_file`,将 CSV 文件转换为对应的 JSON 文件。首先,使用 `csv.DictReader` 读取 CSV 文件的内容,并将每行数据以字典形式存储在列表 `data` 中。然后,使用 `json.dumps` 将列表 `data` 转换为 JSON 格式的字符串,并写入到 JSON 文件中。
`json_to_csv` 函数接受一个 JSON 文件名 `json_file` 和一个 CSV 文件名 `csv_file`,将 JSON 文件转换为对应的 CSV 文件。首先,使用 `json.load` 从 JSON 文件中加载数据。然后,获取数据的键作为 CSV 文件的列名。最后,使用 `csv.DictWriter` 写入列名和数据到 CSV 文件中。
你可以根据需要调用这两个函数,根据输入的参数选择执行 CSV 到 JSON 或 JSON 到 CSV 的转换操作。
阅读全文