python - 使用python的CSV到JSON问题
问题描述
import csv
import json
csv_file = 'data.csv'
json_path = 'data.json'
data1 = {}
with open(csv_file) as data_csv:
csvRead = csv.DictReader(data_csv)
for csvrows in csvRead:
id = csvrows['row_id']
data[id] = csvrows
# Creating Multiple JSON files of 1000 rows each
i = 0
while i < len(data):
data_file = dict(list(data.items())[j:j+1000])
with open(json_path + "data" + str(j) + ".json", 'w') as data_json:
data_json.write(json.dumps(data1, indent=4))
i = i + 1000
问题是我得到的输出为
[ "1": { "id": 1, "name": "Smitraj", "Lastname":"Raut" } ]
但我不希望它采用这种格式。我需要格式为
[{ "id": 1, "name": "Smitraj", "Lastname":"Raut" } ]
解决方案
试试这个。而不是字典将您的项目附加到列表并将其写入文件。
import csv
import json
csv_file = 'data.csv'
json_path = 'data.json'
data = []
with open(csv_file) as data_csv:
csv_reader = csv.DictReader(data_csv)
for csvrows in csv_reader:
data.append(csvrows)
with open(json_path, 'w') as data_json:
data_json.write(json.dumps(data,indent=4))
推荐阅读
- javascript - 使用 Intersection Observer API 的延迟加载图像导致 SEO 索引失败
- azure - 如何在不停机的情况下使用 terraform 升级 AKS 集群
- tshark - 过滤 .csv 的 tshark 输出。防止缺少字段的错误
- laravel - 当另一个 api 服务器也在 localhost 中运行时,从 NextJs 应用程序的 gatServerProps 获取数据
- javascript - 过滤对象以仅包含对象数组中存在的键
- sql - 除了分层数据之外,递归 CTE 还用于什么?
- intersystems-iris - 流中缺少 GUID 引用
- calculated-columns - 如何将非确定性计算列转换为确定性列以进行索引
- c# - Azure.Storage.Blobs 根据创建时间和文件类型列出所有 Blob 的方法 (PDF)
- sql - 从 3 个表中获取值,其中两个表是自联接的