Вот некоторый код Python, который создает сценарий sqlite для создания и вставки в таблицу на основе содержимого файла CSV.Он импортирует файл с именем feeds.csv
, который представляет собой файл UTF8 с разделителями ;
, открываемый с помощью универсальных новых строк (U
) (для поддержки файлов стиля DOS при чтении на Mac).1005 * Файл, о котором идет речь, имеет начальную строку, которая содержит имена столбцов, которые заполняются в таблицу data
, составленную из кода.
Выходные данные из сценария - это файл, которыйвыполняется с помощью команды sqlite foo.db <output
.Данные, помещенные в файл .db, будут изначально иметь формат UTF8.
#!/usr/bin/python
import csv
reader = csv.reader(open("feeds.csv", 'rU'), delimiter=';')
printed_header = None
num_cols = None
for row in reader:
if not printed_header:
num_cols = 0
print "create table data (",
for col in row:
if len(col) > 0:
num_cols += 1
if (num_cols > 1):
print ",",
print "%s varchar" % col,
print ");"
printed_header = True
continue
else:
print "insert into data values (",
pcol = 0
for col in row:
if len(col) > 0:
if pcol > 0:
print ",",
pcol += 1
print "'%s'" % col.replace("'", "''"),
print ");"