我使用pyodbc导入sql大数据。但是没有错误,没有保存的文件和消息(数据有300000行和600列)
如何在python-odbc中加载大数据?你知道吗
这是我的密码:
import pyodbc
import pandas as pd
H2=pyodbc.connect('DRIVER={SQL Server}; SERVER={192.168.x.x};DATABASE={H2};UID=hoho;PWD=haha')
cursor=H2.cursor()
cursor.execute("Select * From [dbo].[HIST_UTDATA001_201506]")
fieldnames1=[f[0] for f in cursor.description]
result=[]
result=cursor.fetchmany(1000)
b1=result
while b1:
b1=cursor.fetchmany(1000)
if not b1:
break
result.extend(b1)
df = pd.DataFrame(result,columns=[fieldnames1])
df.to_csv('TEST1.csv')
很可能是内存不足。只有一个整数(8字节)的列将需要(大约)16个额外的字节用于Python对象和指向它们的指针。每列24字节。把这些数字加起来,至少需要24*600*300000=4320000000字节。您将需要更多的字符串。你知道吗
你可以试试turbodbc。它比pyodbc更快,并且提供了内置的NumPy支持,以避免Python对象用于数字。这样可以减少内存消耗。你知道吗
相关问题 更多 >
编程相关推荐