使用sqlite3无法将我的数据.sql识别为数据库

时间:2019-05-23 10:35:01

标签: python sqlite

我正在尝试导入数据(.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

1 个答案:

答案 0 :(得分:0)

假设您要打开SQL转储而不是数据库文件。首先通过运行以下命令将您的SQL转储转换为实际的SQLite数据库:

sqlite3 data.db <data.sql

然后在代码中将data.db替换为data.sql

See a tutorial。它用于Linux,但也有用于其他操作系统的相同命令行工具。