15個の列と約100万行の大きなcsvファイルがあります。私はtinyDBにデータを解析したい。私が使用しているコードは以下の通りです:大きな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
しかし、実際にはそれは本当にかかります。私は進捗状況を追跡するために変数を設定しました。最初の行は速く実行されましたが、現在は1時間以上経過しており、ほぼ1Hzのペースで約10000行を解析しました。
見つかりませんでした。何か類似しているので、どんな助けもありがとうございます
ありがとう
これはおそらくhttp://codereview.stackexchange.com/に移動してください。おそらく、 '' insert_multiple() '' –
をチェックアウトしてください。同じ問題がありました。秒)。 ujsonをインストールし、 'insert_multiple'を使用すると、私の挿入が大幅に増えました。正確には測定されませんが、50秒から1または2までのように...ここでは、 'insert_multiple'を使用することが重要です! – klaas