Python 写入第一组行
我正在通过csv文件解析并删除第一列,这已经完成。我请求您帮助我告诉Python跳过行,只写其中包含有意义数据的行Python 写入第一组行,python,csv,Python,Csv,我正在通过csv文件解析并删除第一列,这已经完成。我请求您帮助我告诉Python跳过行,只写其中包含有意义数据的行 Result CSV: Presented_By Sources Salesman John Radio Mary Edwin Newspaper Bexie Ben Radio Jon
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"
假设跳过第一列为空的任何行是否正确?是否存在第一行为空的实际数据行 如果这样做是安全的,您可以添加:
if r[1] == "":
pass
else:
wtr.writerow(<Row contents>)
添加一条if语句,检查
r[0]
的内容是否为空,以及r[1]
是否不为空continue
循环
此外,您不需要为参数编写列表中的每一项
您可以使用
*r[start:end index]
在函数调用中将列表扩展为参数。如果它需要元组使用元组(r[start:end])
作为参数在写入前检查行中的内容,并在文件中写入或不写入。你可以使用if
,for
或者all()
或者any()
。是的,我可以告诉Python只写第一列有值的行。if r[1]:wtr.writerow(…)
?只有你知道csv文件的结构,所以你需要自己实现过滤。顺便说一句,而不是(r[1],…,r[18])
你可以使用r[1:19]
新手错误Furas lol。你可以不通过来编写它-请参阅上面的@AndrejsCainikovs注释。是的,这是正确的。如果第一列没有值,跳过它。是的,双括号是新手犯的错误。
wtr.writerow(r)