Я только начинаю с Python, и я работаю со следующим кодом, чтобы импортировать файл CSV в sqlite3 таблицу, которую я свободно признаться, я скопировал большую часть из интернета:Python: Как передать список как параметр функции?
with open(getPathTo('my.csv'), 'r') as csvfile:
reader = csv.DictReader(csvfile)
records = [(row['SEGMENT'], row['Comp 1'], row['Comp 2']) for row in reader]
c.executemany("INSERT INTO comparison (`SEGMENT`, `Comp 1`, `Comp 2`) VALUES (?,?,?);", records)
conn.commit()
Он работает отлично, но я повторяю это для большого количества файлов и таблиц, и я хотел бы превратить его в функцию. Что я стремлюсь к что-то вроде:
def importCSVToTable(file, table, columns)
Но, учитывая список columns
, как я могу использовать его в этой строке:
records = [(row['SEGMENT'], row['Comp 1'], row['Comp 2']) for row in reader]
Я просто немного Брошенный синтаксис, я думаю.
Является ли количество столбцов и их имена меняющимися от таблицы к таблице? – alecxe
Да. Различные таблицы с разными схемами. – Wintermute
Вы считали ORM sqlalchemy? Благодарю. – alecxe