Как конвертировать sqlite3 в формат csv, используя API для чат-бота?

Когда я запускаю своего чат-бота, он создает файл db.sqlite3 в бэкэнде для хранения всего разговора. Я хочу преобразовать этот файл db.sqlite3 в файл csv с помощью API. Как я должен реализовать это в Python? Изображение содержит тип файла.

1 ответ

Решение

В db-файле есть несколько таблиц, связанных с Chatterbot. Это разговор_ассоциация, разговор, ответ, утверждение, тег_ассоциация и тег.
Из всех этих таблиц только таблицы ответов и операторов имеют правильные данные (по крайней мере, в моем случае). Однако я попытался преобразовать все таблицы в CSV. Таким образом, вы можете найти несколько пустых CSV-файлов тоже.

import sqlite3, csv
db = sqlite3.connect("chatterbot-database")  # enter your db name here
cursor = db.cursor()
tables = [table[0] for table in cursor.execute("select name from sqlite_master where type = 'table'")]  # fetch table names from db

for table in tables:
    with open('%s.csv'%table, 'w') as fd:   
        csvwriter = csv.writer(fd)
        for data in cursor.execute("select * from '%s'"%table):  # get data from each table
            csvwriter.writerow(data)
Другие вопросы по тегам