Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 写入第一组行_Python_Csv - Fatal编程技术网

Python 写入第一组行

Python 写入第一组行,python,csv,Python,Csv,我正在通过csv文件解析并删除第一列,这已经完成。我请求您帮助我告诉Python跳过行,只写其中包含有意义数据的行 Result CSV: Presented_By Sources Salesman John Radio Mary Edwin Newspaper Bexie Ben Radio Jon

我正在通过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"

假设跳过第一列为空的任何行是否正确?是否存在第一行为空的实际数据行

如果这样做是安全的,您可以添加:

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)