Python 代码赢得';t打印多个列表,但未显示任何错误

Python 代码赢得';t打印多个列表,但未显示任何错误,python,csv,Python,Csv,我正在尝试制作一个程序,允许用户输入一个5位数的产品编号,该程序将根据该编号搜索包含的csv文件,直到找到为止,此时它将打印相应的名称和价格,但不会打印编号。为了达到这一点,我决定用文件中的每一行创建一个列表,然后打印它们以进行故障排除,它们中的任何一个单独打印它们的列表都没有问题,但是当我尝试一次性打印所有5个列表时,它打印了第一个列表,然后为其他列表显示了4个空括号。助手没有显示任何错误,我不知道如何修复它 import csv f = open('products.csv') csv_f

我正在尝试制作一个程序,允许用户输入一个5位数的产品编号,该程序将根据该编号搜索包含的csv文件,直到找到为止,此时它将打印相应的名称和价格,但不会打印编号。为了达到这一点,我决定用文件中的每一行创建一个列表,然后打印它们以进行故障排除,它们中的任何一个单独打印它们的列表都没有问题,但是当我尝试一次性打印所有5个列表时,它打印了第一个列表,然后为其他列表显示了4个空括号。助手没有显示任何错误,我不知道如何修复它

import csv

f = open('products.csv')
csv_f = csv.reader(f)

next(f)

pNumber = []
pName = []
pDescription = []
pCategory = []
pPrice = []

for row in csv_f:
    pNumber.append(row[0])

for row in csv_f:
    pName.append(row[1])

for row in csv_f:
    pDescription.append(row[2])
    
for row in csv_f:
    pCategory.append(row[3])
    
for row in csv_f:
    pPrice.append(row[4])

print(pNumber)
print(pName)
print(pDescription)
print(pCategory)
print(pPrice)
产品csv文件如下所示

Product #,Name,Description,Category,Price
38500,Backpacking Tent,"2-Person Backpacking Tent - 20D Ripstop Nylon",Outdoor,205.99
27840,Sit-Stand Desk,"Sit-Stand Compact Workstation Desk Converter, 37in",Household,139.99
37992,Mouse,"Dark Matter by Monoprice Rover Optical Gaming Mouse - 6200DPI",Office,19.99
24458,Subwoofer,"15in THX Ultra Certified 1000 Watt Powered Subwoofer",Audio,1280.07
38323,USB Cable,"USB 2.0 Type-C to Type-A Charge & Sync Kevlar-Reinforced Nylon-Braid Cable, 6ft, purple",Office,7.55

您的第2-5个列表为空,因为第一个循环读取了文件中的所有数据;没有什么可读的了。如果要再次遍历整个文件,则需要重置文件对象中的光标位置

f.seek(0)
这通常是最简单的方法

更好的是,将所有数据字段存储在一个循环中,而不是一次读取一列的整个文件


甚至比这更好的是,只需将文件直接读取到数据框。

我如何将文件直接读取到数据框?您可以查阅现有的PANDAS文档,或者只需使用浏览器搜索答案。