Возможно, таблица таблицы 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

  • python sqlite question - метод вставки
  • Использование пространственного расширения для SQLite в Windows
  • Как удалить запись из таблицы?
  • Слияние файлов SQLite в один файл db и вопрос «начало / фиксация»
  • Слияние баз данных SQLite сводит меня с ума. Помогите?
  • Как получить имя таблицы для выполненного запроса? (python / sqlite)
  • Force Python откажется от собственного sqlite3 и использует (установленную) последнюю версию sqlite3
  • Чтение из удаленных баз данных sqlite3
  • Python и sqlite3 - добавление тысяч строк
  • Вопросы о создании таблицы и транзакции в sqlite3 python
  • ПРЕДУПРЕЖДЕНИЕ: для истории IPython требуется SQLite, ваша история не будет сохранена
  • Python - лучший язык программирования в мире.