【问题标题】:Reading a specific CSV row and display in output box读取特定的 CSV 行并显示在输出框中
【发布时间】:2016-05-25 18:37:25
【问题描述】:

我不是在追求任何特定的代码,只是在正确的方向上指出一点。因为我是这个 csv 的新手并且有点卡住了。

我有一个 csv 文件,其中包含一列“订单号”、零件描述、数量、图纸:

1) 我的目标是在文本框中输入订单号。

2) 在 csv 文件中搜索该数字并显示整行,但是我希望每个字段在不同的输出框、数量框、描述框等中。但是目前我很高兴拥有整个行打印到一个盒子里,这样我就可以开始工作了。

目前我已经让我的程序加载 csv ok 并将整个 csv 文件正确打印到文本框中,这只是下一步。

我是否需要读取订单号并将其保存为变量,然后以某种方式在 csv 代码中使用该变量?

注意:这是用 tkinter 制作的。

def DoASearch():
        try:
            print(int(sonumber.get()))
        except ValueError:
            messagebox.showwarning("Fail !!", "Please enter a valid Shop Order number.")

        sonumber2=sonumber

        with open("lesspreadsheettest.csv") as csvfile:
            reader = csv.DictReader(csvfile)
            for row in reader:
                sonumber2=(row['Shop Order'])
                if sonumber2 == number:
                    print(row['Shop Order'], row['Part Number'], row['Description'])

【问题讨论】:

    标签: csv python-3.x tkinter opencsv


    【解决方案1】:

    所以你只想像这样读出 csv:

    import csv
    
    var number = 100
    
    with open('names.csv') as csvfile:
        reader = csv.DictReader(csvfile)
        for row in reader:
            var x = row['order']
            if x == number:
                print("We have a Match")
    

    您需要将从输入中获得的数字分配给var number

    【讨论】:

    • 这看起来就是我所追求的。我会试一试。谢谢 :) 然后我将尝试将各个 csv 列输出到不同的输出框。再次感谢
    • @LesM76 是的。如果您需要更多帮助,请确保将您的结果在线发布或使用新代码更新您的问题。
    • 嗨 Merijn,我已经尝试了上面的代码,但我似乎遇到了错误,我复制并粘贴了你的代码,但没有运气,然后稍微修改一下,看看是否需要添加一些额外的数据,但仍然没有运气。我确定我做错了什么,代码加上我对数字的初始检查已添加到原始问题中。谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-05-16
    • 2014-12-15
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多