如何使用python在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

我的csv文件中的每一行都有如下字符串。如果搜索字符串的第一个单词,则必须打印从该单词开始的相应字符串

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函数。这意味着在代码中无法进一步访问该函数。