回答:
(CSVファイルに変換して操作するための一連のユーティリティ)の一部であるcsvsqlを使用できますcsvkit
。
sudo pip install csvkit
csvsql --dialect mysql --snifflimit 100000 datatwithheaders.csv > mytabledef.sql
CREATE TABLE
ファイルの内容に基づいてステートメントを作成します。列名はCSVファイルの最初の行から取得されます。Pythonの使用に問題がなければ、Pandasはうまく機能しました(csvsqlは永久にハングし、あなたの場合よりもcolsとrowが少なくなりました)。何かのようなもの:
from sqlalchemy import create_engine
import pandas as pd
df = pd.read_csv('/PATH/TO/FILE.csv', sep='|')
# Optional, set your indexes to get Primary Keys
df = df.set_index(['COL A', 'COL B'])
engine = create_engine('mysql://user:pass@host/db', echo=False)
df.to_sql(table_name, engine, index=False)
engine
です!スポッティングへの感謝の答えを修正
dwh_engine
か?これはタイプミスengine
ですか?