我的代码中for和条件有问题。
我试图做一个搜索内。csv和工作与pandaspd。我有一个类似的
for i in csv_row:
if csv_row == 'hello':
print('FOUND')
我要在特定行中找到单词"hello"然后打印FOUND。但这行不通。但是,如果我将==更改为!=,它将为.csv文件中的每一行打印FOUND。
我能做什么?我在网上找不到帮助。
谢谢!
!=表示不相等,这就是为什么你会被"发现"的原因。每次.
你可以这样做:
import csv
with open(r'path/samplecsv.csv') as file_obj:
reader_obj = csv.reader(file_obj)
for row in reader_obj:
if row == "hello":
print("FOUND")
您需要引用i
而不是csv_row
for i in csv_row:
if i == 'hello':
print('FOUND')
如果csv_row是一个文本文件或其他。
f= open("csv_row.csv", "r")
for i in f.readlines():
if 'hello' in i:
print('FOUND')
f.close()
编辑:当您使用pandas时,您可以这样做。
import pandas as pd
df = pd.read_csv('csv_row.csv')
# get each row data as a list
for row in df.iterrows():
# iterate through list and find pecific value
for i in row:
if 'hello' in str(i):
print('found', i)
你可以编辑你想要的代码