【发布时间】:2011-02-18 10:23:52
【问题描述】:
我是编程新手,但我决定学习 python。
我有这个关于用户记录小时数的 csv 文件,大致如下(但包含大约 200 行):
用户、项目、时间
用户 1,项目 A,5
用户1,项目B,10
用户 2,项目 A,7
User2,ProjectB,12`
我想通过几个依赖于前一个的 raw_inputs 从中提取数据。例如。我会首先询问您是否想查看完整列表,如果是,请打印所有内容并在那里关闭。如果答案是否定的,则继续下一个 raw_input,例如。输入您想查看的用户。
我有一些代码,但我知道它仍然很基础,但由于我是这方面的新手,所以我无法找到解决方案。感谢您的帮助..
import csv
reader = csv.reader(open("loggedhours.csv", "rb"))
Team = raw_input("Do you want to see detailed team numbers? Y/N: ")
if Team =="y":
for User, Project, Hours in reader:
print User, Project, Hours
else:
print "ok"
print ""
User = raw_input("Enter user ID you wish to check: ")
if User == User in reader:
for User, Project, Hours in reader:
print User
else:
print "ok"
在第二个 raw_input 之前显然缺少某些行,这将使程序完成。
但在第一部分,当 answer == y 时我得到了正确的结果,但是当 answer != y 时我没有得到正确的结果。 else 部分不起作用。
很明显那里有错误,但如果你能指引我正确的道路,我将不胜感激!
【问题讨论】:
-
你能给我们你得到的确切输出吗?是不是根本不打印 else 的“ok”部分?
-
它打印所有结果,所以我试图理解为什么没有考虑“else”部分。