编写一个程序,根据输入参数不同实现 CSV 格式文件与 JSON 格式文件的互 相转换。(如输入指定参数 cj:从 CSV 到 JSON; jc:从 JSON 到 CSV)
时间: 2024-04-14 19:27:27 浏览: 56
好的,下面是一个Python程序示例,可以根据输入参数实现CSV格式文件与JSON格式文件的互相转换:
```python
import csv
import json
def csv_to_json(csv_file, json_file):
data = []
with open(csv_file, 'r') as f:
reader = csv.DictReader(f)
for row in reader:
data.append(row)
with open(json_file, 'w') as f:
json.dump(data, f, indent=4)
print("CSV转换为JSON完成!")
def json_to_csv(json_file, csv_file):
with open(json_file, 'r') as f:
data = json.load(f)
keys = data[0].keys()
with open(csv_file, 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=keys)
writer.writeheader()
writer.writerows(data)
print("JSON转换为CSV完成!")
# 示例使用:
input_file = 'input.csv'
output_file = 'output.json'
mode = input("请输入转换模式(cj:从CSV到JSON;jc:从JSON到CSV):")
if mode == 'cj':
csv_to_json(input_file, output_file)
elif mode == 'jc':
json_to_csv(input_file, output_file)
else:
print("无效的转换模式!")
```
你需要将 `input.csv` 替换为你要转换的CSV文件的路径,将 `output.json` 替换为你想要输出的JSON文件的路径。然后,根据你的需求输入转换模式(cj:从CSV到JSON;jc:从JSON到CSV)。程序将根据输入的模式执行相应的转换操作。
请注意,上述代码假设CSV文件的第一行为列名。在JSON转换为CSV时,程序将使用JSON文件的第一个对象的键作为CSV文件的列名。如果CSV文件和JSON文件的格式不符合预期,程序可能会出现错误。
阅读全文