3

67M、126000行のxlsファイルがあり、できるだけ早くsqliteデータベースにインポートしたいと考えています。

今、私はPythonで実装された2つのソリューションを持っています:

  1. xlrd を使用して Excel を読み取り、sqlite3 を使用してデータベースに挿入します。(約 28 秒かかります)
  2. adodbapi を使用して Excel を読み取り、sqlite3 を使用してデータベースに挿入します。(約 33 秒かかりました)

20代以内にできればいいのですが、他に解決策はありますか?Pythonプログラムに統合したいので、プログラミング言語はPythonかC/C++でなければなりません。

4

2 に答える 2

0

LibreOfficeを使用します。バッチモードで変換できます:

subprocess.call(['loffice', '--invisible', '--convert-to', 'csv', file])

試してみる価値はありますか?

于 2012-08-22T15:24:32.467 に答える
0

これを行うにはパンダを使用します。ここでは 2 つのステップが必要です。1. Excel ファイルをデータフレームとしてインポートする 2. データフレームを SQL にエクスポートする

import pandas as pd
import numpy as np
import sqlite3

conn = sqlite3.connect('database.db')   #Connection to Database

df = pd.read_excel('excel_file.xlsx')   #Reading from excel file

df.to_sql(name='table_of_database', con=conn)  # Writing to SQL
conn.close()

私はそれが速いことを知っています。67Mのデータは評価していないので、実行後の経過時間を教えてください。

于 2019-05-14T07:54:27.073 に答える