
[英]Skip specific rows with an "NaN" value while reading a csv file in python
[英]Skip Rows in CSV Containing Specific String
我有一个字符串列表(比本例中更长)。 如果一行数据中存在一个字符串,我想跳过该行。 到目前为止,这是我遇到的问题,但出现索引错误,这使我相信我没有正确循环。
stringList = ["ABC", "AAB", "AAA"]
with open('filename.csv', 'r')as csvfile:
filereader = csv.reader(csvfile, delimiter=',')
next(filereader, None) #Skip header row
for row in filereader:
for k in stringList:
if k not in row:
data1 = column[1]
我得到的错误: IndexError: list index out of range
。 我知道我正在按行读取,但是我需要按列提取数据。
使用大熊猫,您可以戴着面具轻松做到。 查看更多: 链接
import pandas as pd
data = pd.read_csv('filename.csv')
data = data.loc[data['column_name'] not in stringList]
该错误是因为row
是一个列表,并且您正在使用/访问它作为普通变量。 您可以通过使用列表行的适当索引来访问某些列。 例如:在第一次迭代中, row[0]
将是第一行第一列中的元素, row[1]
是第二列条目中的元素,依此类推。 在row
后续迭代中,您可以向下访问后续column的条目。
这是一个简单的循环。
for row in filereader:
for k in stringList:
for i in range(len(row)):
if k not in row[i]:
someVar=row[i]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.