gpt4 book ai didi

python - 在 python 中将 CSV 转换为 JSON 文件

转载 作者:行者123 更新时间:2023-12-05 08:31:42 27 4
gpt4 key购买 nike

CSV File以上 csv 文件包含近 2000 行。

我想逐行解析 CSV 文件并将其转换为 JSON 并通过 websocket 发送。

我在网上找到了一些将 CSV 转换为 JSON 的代码,如下所示:

import csv
import json

csvfile = open('file.csv', 'r')
jsonfile = open('file.json', 'w')

fieldnames = ("FirstName","LastName","IDNumber","Message")
reader = csv.DictReader( csvfile, fieldnames)
for row in reader:
json.dump(row, jsonfile)
jsonfile.write('\n')

但是上面代码的问题是我们需要提及字段名称来解析 CSV。由于我有 2000 多行,这不是一个可行的解决方案。

谁能建议如何在不指定字段名的情况下逐行解析 CSV 文件并将其转换为 JSON?

最佳答案

Python CSV 到 JSON

要在 Python 中将 CSV 转换为 JSON,请按照以下步骤操作:

  1. 初始化 Python 列表。
  2. 使用 csv.DictReader() 函数读取 CSV 文件的行。
  3. 将每一行转换成字典。将字典添加到步骤 1 中创建的 Python 列表中。
  4. 使用 json.dumps() 将 Python 列表转换为 JSON 字符串。
  5. 您可以将 JSON 字符串写入 JSON 文件。

数据.csv

  • 为了测试,我使用复制/粘贴在一个 csv 文件中创建了 100.000 行,使用 Apple's M1 Chip 整个转换过程大约需要半秒。而给出的例子只用了 0.0005 秒。

enter image description here

column_1,column_2,column_3
value_1_1,value_1_2,value_1_3
value_2_1,value_2_2,value_2_3
value_3_1,value_3_2,value_3_3

Python程序

import csv 
import json
import time

def csv_to_json(csvFilePath, jsonFilePath):
jsonArray = []

#read csv file
with open(csvFilePath, encoding='utf-8') as csvf:
#load csv file data using csv library's dictionary reader
csvReader = csv.DictReader(csvf)

#convert each csv row into python dict
for row in csvReader:
#add this python dict to json array
jsonArray.append(row)

#convert python jsonArray to JSON String and write to file
with open(jsonFilePath, 'w', encoding='utf-8') as jsonf:
jsonString = json.dumps(jsonArray, indent=4)
jsonf.write(jsonString)

csvFilePath = r'data.csv'
jsonFilePath = r'data.json'

start = time.perf_counter()
csv_to_json(csvFilePath, jsonFilePath)
finish = time.perf_counter()

print(f"Conversion 100.000 rows completed successfully in {finish - start:0.4f} seconds")

输出:data.json

Conversion 100.000 rows completed successfully in 0.5169 seconds
[
{
"column_1": "value_1_1",
"column_2": "value_1_2",
"column_3": "value_1_3"
},
{
"column_1": "value_2_1",
"column_2": "value_2_2",
"column_3": "value_2_3"
},
{
"column_1": "value_3_1",
"column_2": "value_3_2",
"column_3": "value_3_3"
}
]

关于python - 在 python 中将 CSV 转换为 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56113592/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com