森森有一个 csv 文件,她希望转换成 json 文件。 请你帮她做一下吧。 输入 输入多行,表示 csv 文件。 输出 输出多行,表示 json 文件。 样例输入 city, a, b, c bj, 1, 2, 3 xa, 2, 3, 4 gz, 3, 4, 5 cq, 1, 2, 2 样例输出 [ { " a": " 1", " b": " 2", " c": " 3", "city": "bj" }, { " a": " 2", " b": " 3", " c": " 4", "city": "xa" }, { " a": " 3", " b": " 4", " c": " 5", "city": "gz" }, { " a": " 1", " b": " 2", " c": " 2", "city": "cq" } ]
时间: 2023-07-19 19:36:17 浏览: 187
csvToJson:将CSV文件转换为JSON
5星 · 资源好评率100%
可以使用 Python 的 csv 和 json 库来实现这个功能。可以按照以下的步骤来实现:
1. 读取输入的 csv 文件内容,将其转换成一个二维列表(每一行是一个列表,所有行组成一个大列表)。
2. 将第一行作为键(即 json 文件中的属性名),将每一行的数据与键组合成一个字典。
3. 将每个字典放入一个列表中。
4. 使用 json.dumps() 方法将列表转换成 json 格式的字符串。
5. 输出 json 格式的字符串。
以下是 Python 代码实现:
```python
import csv
import json
import sys
# 读取输入的 csv 文件内容
csv_data = []
for line in sys.stdin:
csv_data.append(line.strip().split(','))
# 将第一行作为键,将每一行的数据与键组合成一个字典
keys = csv_data[0]
json_data = []
for row in csv_data[1:]:
json_dict = {}
for i in range(len(keys)):
json_dict[keys[i]] = row[i].strip()
json_data.append(json_dict)
# 将字典列表转换成 json 格式的字符串
json_str = json.dumps(json_data, indent=4)
# 输出 json 格式的字符串
print(json_str)
```
输入样例:
```
city, a, b, c
bj, 1, 2, 3
xa, 2, 3, 4
gz, 3, 4, 5
cq, 1, 2, 2
```
输出样例:
```
[
{
"city": "bj",
" a": " 1",
" b": " 2",
" c": " 3"
},
{
"city": "xa",
" a": " 2",
" b": " 3",
" c": " 4"
},
{
"city": "gz",
" a": " 3",
" b": " 4",
" c": " 5"
},
{
"city": "cq",
" a": " 1",
" b": " 2",
" c": " 2"
}
]
```
阅读全文