如何使用python在csv文件中搜索字符串的第一个单词来打印整个字符串(在单元格中)
我的csv文件中的每一行都有如下字符串。如果搜索字符串的第一个单词,则必须打印从该单词开始的相应字符串如何使用python在csv文件中搜索字符串的第一个单词来打印整个字符串(在单元格中),python,csv,Python,Csv,我的csv文件中的每一行都有如下字符串。如果搜索字符串的第一个单词,则必须打印从该单词开始的相应字符串 EQPHHC_10 | 16912 | 0 | 0 | 0 | 53040 | 0 | 544 | 0 | 140643 | 0 | Any message 我试过这个密码。如果我的搜索词是“EQPHHC_10”,那么它必须打印从EQPH
EQPHHC_10 | 16912 | 0 | 0 | 0 | 53040 | 0 | 544 | 0 | 140643 | 0 | Any message
我试过这个密码。如果我的搜索词是“EQPHHC_10”,那么它必须打印从EQPHHC_10开始的整个字符串
所需o/p-
EQPHHC_10 | 16912 | 0 | 0 | 0 | 53040 | 0 | 544 | 0 | 140643 | 0 | Any message
def find_索引(输入):
o=打开('PROCESS.csv','r')
myData=csv.reader(o)
索引=0
对于myData中的行:
如果行[0]==输入:
回报指数
其他:索引+=1
行数=查找索引('EQPHHC_10')
打印行数
你已经很接近了。您可以使用enumerate
查找索引
Ex:
def find_index(input):
with open('PROCESS.csv') as csv_file:
reader = csv.reader(csv_file, delimiter="|")
for ind, row in enumerate(reader):
if row[0].strip() == input:
return ind
return "N/A" #If input is not found.
Row_num = find_index('EQPHHC_10')
你可以直接读取文件和其中的行。找到索引,打印剩余的字符串
def find_index(input):
fl = open('PROCESS.csv', 'r').readlines()
for row in fl:
if row.startswith(input):
print row
find_index('EQPHHC_10')
试试这个:
import csv
def search_string(input_string):
file = csv.reader(open('PROCESS.csv', 'r').readlines())
for line in file:
if line[0].strip() == input_string:
print(line)
您可以重新编写函数,使其
返回所需的行,例如:
def find_row(user_input):
o = open('PROCESS.csv', 'r')
myData = csv.reader(o)
for row in myData:
if row[0] == user_input:
return row
return "" #return empty string if nothing was found
Row_content = find_row('EQPHHC_10')
print Row_content
请注意,它将打印第一行,也是唯一一行填充条件,这与原始函数类似。您需要写入行而不是索引。试试这个代码
def find_index(input):
o = open('PROCESS.csv', 'r')
myData = csv.reader(o)
index = 0
for row in myData:
if row[1] == input:
return row
else : index+=1
return "no row found"
row = find_index('EQPHHC_10')
print(row)
请不要使用input
作为变量名,因为input
已经是内置的Python函数。这意味着在代码中无法进一步访问该函数。