我有一个很大的sql文件(20 GB),想将其转换为csv格式。我计划将文件加载到Stata进行分析。我有足够的内存来加载整个文件(我的电脑内存为32GB)。
问题是:我目前在Python中找到的解决方案(sqlite3)似乎需要比我当前系统拥有的更多的内存:
- 读取SQL
- 写入csv
以下是代码:
import sqlite3
import pandas as pd
con=sqlite3.connect('mydata.sql')
query='select * from mydata'
data=pd.read_sql(query,con)
data.to_csv('export.csv')
con.close()
这个 SQL 文件包含大约 15 个变量,这些变量可以是时间戳、字符串或数字值。没有什么很复杂的。
我认为一个可能的解决方案是逐行读取 SQL 文件并将 CSV 文件写入其中。然而,我不知道如何实现这一点(无论是在 R 还是 Python 中)。
非常感谢任何帮助!