我有一个包含 4 列(A、B、C、D)的 CSV 文件。像这样:
一种 | 乙 | C | D |
---|---|---|---|
示例英文文本 | 翻译文本 | 语境 | 最长长度 |
示例英文文本 2 | 翻译文本 2 | 上下文 2 | 最大长度 2 |
示例英文文本 3 | 翻译文本 3 | 上下文 3 | 最大长度 3 |
我需要一个代码,将其转换为这个 JSON 文件:
{
"Context": "Translated text",
"Context 2": "Translated text 2",
"Context 3": "Translated text 3"
}
我试过这个:
import csv
import json
def make_json(csvFilePath, jsonFilePath):
data = {}
with open(csvFilePath, encoding='utf-8') as csvf:
csvReader = csv.DictReader(csvf)
for rows in csvReader:
key = rows["C"]
data[key] = rows
with open(jsonFilePath, 'w', encoding='utf-8') as jsonf:
jsonf.write(json.dumps(data, indent=4))
csvFilePath = "main.csv"
jsonFilePath = "test.json"
make_json(csvFilePath, jsonFilePath)
但是有一个错误,我不确定这是最好的方法。
我怎样才能解决这个问题?
错误:
D:\Python\CSV to JSON>py csvtojson.py
Traceback (most recent call last):
File "D:\Python\CSV to JSON\csvtojson.py", line 25, in <module>
make_json(csvFilePath, jsonFilePath)
File "D:\Python\CSV to JSON\csvtojson.py", line 14, in make_json
key = rows["C"]
KeyError: 'C'
感谢您的帮助!