【发布时间】:2017-06-07 14:39:21
【问题描述】:
这是一个包含多行的 CSV 文件,但问题是每行包含 6 个字段,但有些字段包含一些缺失的字段。因此,在将结果上传到数据库时,我想用墓碑替换缺失的字段像'NA'。
这里是我写的代码。
with open("results/somename.csv","r") as f:
for record in f:
#print record.split()[0]
record = record.split("|")
file1 = record[0]
file2 = record[1]
file3 = record[2]
file4 = record[3]
file5 = record[4]
if not record[5] :
file6 = record[5]
else:
file6 = 'NA'
if not record[6] :
file7 = record[6]
else:
file7 = 'NA'
这里我根据分隔符|拆分文件,然后尝试将文件拆分成可以在数据库中使用的字段。现在由于信息不足记录[5]和记录[6]不可用在某些行中(不是全部)。所以我正在检查它是否包含任何字符串,否则替换为'NA'。但是在执行过程中出现了错误。
Traceback (most recent call last):
File "db_kiran.py", line 15, in <module>
if not record[5] :
IndexError: list index out of range
所以我只想在缺失的字段中替换为“NA”。
【问题讨论】:
-
请检查拆分后数组的长度。使用 if 来执行预期的操作。
-
@SanketSudake 谢谢。
-
@e4c5 感谢您的回答,我已经使用了第一条评论并更改了我的代码。
-
但请考虑改用 LOAD DATA INFILE