Мои данные .sql не распознаются как база данных с использованием sqlite3 - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь импортировать мои данные (.sql) и преобразовать их в .csv в моем коде Python.Я решил использовать 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 голосов
/ 23 мая 2019

Предполагается, что вы пытаетесь открыть дамп SQL вместо файла базы данных. Сначала преобразуйте дамп SQL в фактическую базу данных SQLite, выполнив:

sqlite3 data.db <data.sql

И замените data.db на data.sql в вашем коде.

См. Учебник . Это для Linux, но есть и те же инструменты командной строки для других операционных систем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...