我的数据框有大约155,000行和12列。 如果我使用dataframe.to_csv导出到csv文件,输出的文件大小为11MB(几乎是瞬间生成)。
但是,如果我使用to_sql方法将其导出到Microsoft SQL Server,需要5到6分钟的时间!没有列是文本:只有int、float、bool和日期。我曾经看到过ODBC驱动程序设置nvarchar(max)会减慢数据传输速度的案例,但这里不可能是这种情况。
有什么建议可以加快导出过程吗?花费6分钟导出11MB的数据使ODBC连接几乎无法使用。
谢谢!
我的代码是:
import pandas as pd
from sqlalchemy import create_engine, MetaData, Table, select
ServerName = "myserver"
Database = "mydatabase"
TableName = "mytable"
engine = create_engine('mssql+pyodbc://' + ServerName + '/' + Database)
conn = engine.connect()
metadata = MetaData(conn)
my_data_frame.to_sql(TableName,engine)