gpt4 book ai didi

python - 将大型 csv 文件解析为 tinydb 需要很长时间

转载 作者:行者123 更新时间:2023-12-02 17:22:51 25 4
gpt4 key购买 nike

我有一个包含 15 列和大约 100 万行的大型 csv 文件。我想将数据解析到 tinyDB 中。我使用的代码如下:

import csv
from tinydb import TinyDB

db = TinyDB('db.monitor')
table = db.table('Current')

i=0

datafile = open('newData.csv', 'rb')
data=csv.reader(datafile, delimiter = ';')

for row in data:
table.insert({'WT_ID': row[0], 'time': row[1], 'MeanCurrent': row[2], 'VapourPressure': row[3], 'MeanVoltage':row[4], 'Temperature': row[5], 'Humidity': row[6], 'BarPressure': row[7], 'RPM': row[8], 'WindSector': row[9], 'WindSpeed': row[10], 'AirDensity': row[12], 'VoltageDC': row[13], 'PowerSec': row[14], 'FurlingAngle': row[15]})
i=i+1
print i

然而,它真的需要永远。我已经设置了 i 变量来跟踪进度,虽然在第一行它运行得很快,但现在已经一个多小时了,它已经以接近 1Hz 的速度解析了大约 10000 行

我找不到类似的东西,所以任何帮助将不胜感激

谢谢

最佳答案

TinyDB 是最佳选择吗?您似乎需要一个事务性数据库,而 TinyDB 是面向文档的。最重要的是,来自文档:Wy not use TinyDB

If you need advanced features or high performance, TinyDB is the wrong database for you

您的进程运行非常慢,因为您正在将数据累积到 RAM 中。作为一种解决方法,您可以将 csv 拆分为较小的主干并用它填充脚本。这样,每次迭代之间的内存都可以是干净的。

tinyDB 完全无法管理如此多的信息。

关于python - 将大型 csv 文件解析为 tinydb 需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41302699/

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