我正在尝试简化我的代码......我想要做的是让用户输入一个数字。根据他们选择的数字,它将打印出csv中相应列的数据。这是我的代码:
df1 = pd.read_csv('c:/temp/test_1.csv', usecols=[0,1], header = 0)
n = raw_input("Please enter first choice: ")
if n != '' and n == '0':
print df1.ix[:, 0]
elif n != '' and n == '1':
print df1.ix[:, 1]
else:
print "stop"
这一切都有效。但是,我觉得这不是最佳或有效的编码。
我必须列出列号的所有可能组合。如果我有多个用户输入问题,则会变得难以处理。
我希望动态地能够获取用户输入,分配变量,并将该变量放入一行,这将打印出列的信息。
df1 = pd.read_csv('c:/temp/test_1.csv', usecols=[0,1], header = 0)
number=raw_input("Please enter first choice: ")
print df1.ix[:, number]
我是Python新手,绝对可以使用帮助。在此先感谢!!
提比利乌斯
答案 0 :(得分:1)
这样的事情可行:
from __future__ import print_function
df1 = pd.read_csv('c:/temp/test_1.csv', usecols=[0,1], header = 0)
while True:
try:
number = int(raw_input("Please enter first choice: "))
except ValueError:
print('Please enter a valid integer.')
continue
try:
print(df1.ix[:, number])
except IndexError:
print('Please enter an index between 0 and {}'.format(len(df) - 1))
continue
break