阅读csv并检查文件中的术语

时间:2017-10-03 15:49:04

标签: python file-io

import csv

word = input("please enter a word: ")
file = open('TEST.csv', 'r')

if column[0] in word or column[1] in word or column[2] in word or column[3] in word or column[4] in word:
    print("The word you entered if in row " +str(count))
else:
    print("The word you entered is NOT in row " +str(count))

我的代码不能正常工作,我希望代码允许我输入一个单词并查找它是否在csv文件中,然后它应该告诉我它是否存在或是否不是。

2 个答案:

答案 0 :(得分:1)

import csv

word = input("please enter a word: ")
file = open('TEST.csv', 'r')
read = csv.reader(file)
count = 0

for column in read:
    count = count + 1

if column[0] in word or column[1] in word or column[2] in word or column[3] in word or column[4] in word:
    print("The word you entered if in row " +str(count))
else:
    print("The word you entered is NOT in row " +str(count))

此代码无效,因为您有一个未定义的'count'。此外,您需要程序能够读取文件,而您错过了一点点代码。另外,因为您正在阅读的列中应该有

for column in read:
count = count + 1

不要忘记将'count'设置为变量本身。 祝你好运

答案 1 :(得分:1)

您的代码中存在一些基本问题。

  1. 您永远不会使用导入csv
  2. 您永远不会定义count变量
  3. 您永远不会定义column列表
  4. 您永远不会从文件中读取任何数据
  5. 您永远不会关闭文件
  6. 我讨厌完全重写别人的代码,但你的代码需要一些帮助。此代码将实现您的目标:

    word = input("Please enter a word: ")
    delimiter = ","
    
    with open("TEST.csv", 'r') as file:
        content = file.read().replace('\n', '').split(delimiter)
    
    if word in content:
        print("The word you entered is in row {}".format(content.index(word)))
    else:
        print("The word you enterd is NOT in the file")
    

    让我向您介绍此代码的功能和方式。

    1. 我们通过input()
    2. 获取您的输入
    3. 我们使用with打开我们的文件,并在完成后自动关闭
    4. 我们read将文件作为一个大字符串,replace所有换行符(" \ n")包含空字符串,split用逗号表示字符串。我们将字符串拆分为逗号列表,因为这是一个csv文件,这意味着所有内容都用逗号分隔。如果使用不同的分隔符,只需更改分隔符变量。
    5. 测试单词是否出现在列表中的任何位置。
    6. (a)如果确实出现,请打印它,以及它的索引(它的行)

      (b)如果没有出现,请打印出