我正在解析csv文件并删除第一列,这已经完成了。我请求您协助如何告诉Python跳过行,只写出包含有意义数据的行。
Result CSV:
Presented_By Sources Salesman
John Radio Mary
Edwin Newspaper Bexie
Ben Radio Jon
Radio 2
Newspaper 1
我想排除计算来源的底部的部分。我可以添加哪些内容告诉Python忽略第二部分。
import csv
with open("InfoCenterTracker.csv","rb") as source:
rdr= csv.reader( source )
with open("result.csv","wb") as result:
wtr= csv.writer( result )
for r in rdr:
wtr.writerow( (r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10], r[11], r[12], r[13], r[14], r[15], r[16], r[17], r[18]) )
print "Column deleted"
答案 0 :(得分:0)
假设要跳过任何空第一列的行是否正确?是否有任何实际数据行,第一行为空?
如果可以安全,您可以添加:
if r[1] == "":
pass
else:
wtr.writerow(<Row contents>)
我想知道你的双括号是否有意?也许它可以缩短为
wtr.writerow(r)
答案 1 :(得分:0)
添加if语句以检查r[0]
的内容是否为空且r[1]
不为空continue
循环。
此外,您无需为参数编写列表中的每个项目。
您可以使用*r[starting:end index]
将列表扩展为函数调用中的参数。如果需要元组,请使用tuple(r[start:end])
作为参数