【问题标题】:How do you search a CSV file in python?如何在 python 中搜索 CSV 文件?
【发布时间】:2015-11-15 17:47:29
【问题描述】:

我正在尝试创建一个包含两个标题的 CSV 文件:

Name Score

然后在下方输入名称和分数。这样如果程序再次运行,它会发现名称和分数已经实现并且不再运行它,而是跳过该过程并继续输入名称和分数。下面是我当前的代码。我非常欢迎任何建议或帮助:

filename = Class_Name + ".csv" #have already defined filename earlier

def excel_search():
    with open(filename, 'rb') as file_data:
        reader = csv.DictReader(file_data, ("Score"))
        if i not in reader:
            with open(filename, 'w', newline='') as f:
                data= "Name","Score"
                f.write(str(data))



excel_search()
    with open(filename, 'a', newline='') as f:
        f.writerows('\n'[Student_Name],[User_Score]) # have defined userscore and studentname earlier

【问题讨论】:

  • 您的帖子中没有问题或问题陈述。该代码有什么问题?当前与预期的行为是什么?
  • 确切的问题是什么?顺便说一句,你的代码有一些语法错误。
  • 我希望它在 csv 文件中搜索名称和分数,如果它在文件中,则继续在标题下方输入用户分数和名称,而如果它不在 csv 文件中,则添加标题?
  • 读取所有文件,用数据做你需要的事情,写入所有文件——这更容易。
  • 你能不能也用我给你的信息写一些python,这样我就可以有一个更有效的工作答案非常感谢任何帮助

标签: python csv python-3.2


【解决方案1】:

不确定这是否正是您想要的,但它可能适合您的目的。

import csv
search=input('Enter string to search: ')
stock=open ('FileName.csv', 'wb')
reader=csv.reader(FileName)
for row in reader:
    for field in row:
        if field==code:
            print('Record found! \n')
            print('Name: '+row[0])
            print('Score: '+row[1])

print('Name: '+row[0]) 应该打印名称,print('Score: '+row[1]) 应该打印玩家的分数。

【讨论】:

    猜你喜欢
    • 2014-11-27
    • 2011-01-18
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2014-02-25
    • 1970-01-01
    • 2013-12-06
    相关资源
    最近更新 更多