我目前正在通过直接读取tsv文件来执行mysql插入。我现在遇到的问题是,当tsv文件中有一个空行时,会在DB中插入空值。在
我写了下面的代码片段来逐行读取整个TSV文件,并且只在行不是空的情况下才执行insert。在with open('file.tsv','r+w') as file:
for line in file:
if len(line)>0:
#upload to DB
conn = connect_db()
cursor = conn.cursor()
try:
cursor.execute("LOAD DATA LOCAL INFILE "file.tsv" INTO TABLE abcd FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' (@col1,@col2,@col3) set a=@col1,b=@col2,grid=@col3,date='"+date+"', pipeline='"+pipeline_name+"'")
conn.close()
except:
print (cursor._last_executed)
raise
从TSV-
^{pr2}$
所需的Mysql输出-13 | 2014-06-16 | apollo | PT | 380 | 316 |
13 | 2014-06-17 | apollo | PT | 350 | 312 |
有人能告诉我怎样才能达到上述目的吗。在