我的代码是:
import wrds
db = wrds.Connection()
compustatq = db.raw_sql("""
select *
from comp.fundq
""")
compustatq.to_csv('path.csv',index=False)问题是数据集太大了,以致于我耗尽了内存。因此,我在想,是否可以直接在磁盘上下载/保存数据?因此,避免了下载到dataframe然后导出到csv文件的2步过程。
发布于 2018-07-05 06:43:31
您可以使用csv库来完成它。这是一条巨蟒内置的图书馆。我不知道你的compustatq是哪种类型的。但要想办法逐行阅读。
像这样使用它:
import csv
writer = csv.writer(open('path.csv', 'wb+'), dialect='excel')
for row in compustatq:
writer.writerow([str(v) for v in row])参考文献:csv
我刚读了wrds.Connection.raw_sql的源代码。它告诉您的compustatq是pandas.DataFrame的一个实例。因此,您仍然可以使用to_csv方法,但方式略有不同:
f = open('path.csv', 'wb+')
for i in xrange(len(compustatq)):
f.write(df[i:i+1].to_csv(header=i==0))
f.close()https://stackoverflow.com/questions/51179906
复制相似问题