我正在尝试导入数据(.sql),并在我的python代码中将其转换为.csv。 我选择使用sqlite3连接data.sql,但发现此错误:
(我在下面留下了代码和错误)
import sqlite3
# Open the file
f = open('output.csv', 'w')
# Create a connection and get a cursor
connection = sqlite3.connect('data.sql')
cursor = connection.cursor()
# Execute the query
cursor.execute('select * from data')
# Get data in batches
while True:
# Read the data
df = pd.DataFrame(cursor.fetchmany(1000))
# We are done if there are no data
if len(df) == 0:
break
# Let's write to the file
else:
df.to_csv(f, header=False)
# Clean up
f.close()
cursor.close()
connection.close()
cursor.execute('select * from data')
sqlite3.DatabaseError: file is not a database
答案 0 :(得分:0)
假设您要打开SQL转储而不是数据库文件。首先通过运行以下命令将您的SQL转储转换为实际的SQLite数据库:
sqlite3 data.db <data.sql
然后在代码中将data.db
替换为data.sql
。
See a tutorial。它用于Linux,但也有用于其他操作系统的相同命令行工具。