Пока вкладки используются только как разделители в вашем файле, вы должны иметь возможность делать что-то вроде этого:
import re
# connect to MySQLdb
with open(file_name) as f:
for line in f:
id, title, genre = re.split(r'\t+', line)
# execute INSERT statement
Идея состоит в том, что у вас всегда будет две группы вкладок, одна между IDи название, и другое между названием и жанром.Используя re.split()
на \t+
(одна или несколько вкладок), вы получите список длиной 3 с интересующими вас полями.
Если в вашем файле есть строки, которые не соответствуют этомуперед форматированием вы должны добавить дополнительную проверку, возможно, что-то вроде data = re.split(r'\t+', line)
и if len(data) == 3:
перед распаковкой кортежа.
edit: Это решение предполагает, что вы не делаетеимеют пустые поля, поэтому, если для строки допустимо иметь только идентификатор и жанр, но без заголовка, это не сработает.Он все равно будет работать, если вы можете иметь заголовок, но без идентификатора или жанра, если есть ведущие вкладки, когда идентификатор отсутствует, и конечные вкладки, когда жанр отсутствует.