Возможно, таблица таблицы sqlite3 экспортируется в csv или аналогична?

Можно ли экспортировать таблицу sqlite3 в формат csv или xls? Я использую python 2.7 и sqlite3.

3 Solutions collect form web for “Возможно, таблица таблицы sqlite3 экспортируется в csv или аналогична?”

Я сбил этот очень простой скрипт, используя слегка модифицированный примерный класс из документов ; он просто экспортирует всю таблицу в файл CSV:

import sqlite3 import csv, codecs, cStringIO class UnicodeWriter: """ A CSV writer which will write rows to CSV file "f", which is encoded in the given encoding. """ def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds): # Redirect output to a queue self.queue = cStringIO.StringIO() self.writer = csv.writer(self.queue, dialect=dialect, **kwds) self.stream = f self.encoder = codecs.getincrementalencoder(encoding)() def writerow(self, row): self.writer.writerow([unicode(s).encode("utf-8") for s in row]) # Fetch UTF-8 output from the queue ... data = self.queue.getvalue() data = data.decode("utf-8") # ... and reencode it into the target encoding data = self.encoder.encode(data) # write to the target stream self.stream.write(data) # empty queue self.queue.truncate(0) def writerows(self, rows): for row in rows: self.writerow(row) conn = sqlite3.connect('yourdb.sqlite') c = conn.cursor() c.execute('select * from yourtable') writer = UnicodeWriter(open("export.csv", "wb")) writer.writerows(c) 

Надеюсь это поможет!

Редактирование. Если вы хотите создавать заголовки в CSV, быстрый способ состоит в том, чтобы вручную добавить еще одну строку перед записью данных из базы данных, например:

 # Select whichever rows you want in whatever order you like c.execute('select id, forename, surname, email from contacts') writer = UnicodeWriter(open("export.csv", "wb")) # Make sure the list of column headers you pass in are in the same order as your SELECT writer.writerow(["ID", "Forename", "Surname", "Email"]) writer.writerows(c) 

Редактирование 2: для вывода столбцов, разделенных колонками, зарегистрируйте собственный диалоги CSV и передайте это в запись, например:

 csv.register_dialect('pipeseparated', delimiter = '|') writer = UnicodeWriter(open("export.csv", "wb"), dialect='pipeseparated') 

Вот список различных параметров форматирования, которые вы можете использовать с пользовательским диалектом.

Да. Запишите здесь sqlitebrowser

  • Импорт и экспорт записей в виде текста
  • Импорт и экспорт таблиц из / в CSV-файлы
  • Импорт и экспорт баз данных из / в файлы дампа SQL

Внешние программы: подробности см. В документации для sqlite3 . Вы можете сделать это из командной строки.

На лету: модуль csv поможет вам правильно обрабатывать формат файла CSV

  • Импорт CSV-файла в таблицу базы данных sqlite3 с использованием Python
  • Использование `executemany` для обновления записей в существующей базе данных SQLite3 (с использованием Python sqlite3)
  • База данных «на лету» со сценарием
  • python sqlite question - метод вставки
  • Как разделить одно соединение SQLite в многопоточном приложении Python
  • Python копирует таблицу MySQL в SQLite3
  • ошибка в доступе к таблице, созданной в django в коде python
  • Настройка каталога хранилища SQL-файлов
  • Python - лучший язык программирования в мире.