这是我的代码。在第一个def函数中,我让它返回column_choose,我想在第二个def函数(get_data_list)中使用column_choose的值。我能做什么?我已多次尝试过。但IDLE始终显示:未定义全局名称“column_choose”。
如何在第二个函数中使用column_choose的值? 顺便说一下,我使用python 3.2
def get_column_number():
while True:
column_choose = input('What column:')
if column_choose == '1' or column_choose == '2' or column_choose == '3' or column_choose == '4' or column_choose == '5' or column_choose == '6':
column_choose = int(column_choose)
return column_choose
break
else:
print('bad column number, try again')
def get_data_list(column_number):
new_column_number = column_number.split(',')
date_column = new_column_number[0]
choose_column = new_column_number[column_choose-1]
return result
def main():
#Call get_input_descriptor
get_input_descriptor()
#Call get_column_number
get_column_number()
file_obj = open("table.csv", "r")
for column_number in file_obj:
column_number = (column_number.strip())
result = get_data_list(column_number)
print(result)
file_obj.close()
main()
答案 0 :(得分:0)
您需要为变量指定列号。此外,您不需要break
语句,因为您在返回后将其放入。{/ p>
#Call get_column_number
column_num = get_column_number()
另外,我不确定你是否正确编写代码。这条线
for column_number in file obj:
正在遍历您的csv文件。如果您尝试访问特定列,则可以执行以下操作:
content = ''
file_obj = open('table.csv','r')
content = fle_obj.split(',')
print(content[column_number])
答案 1 :(得分:0)
您的缩进格式是错误吗?
您在return
函数中使用了get_column_number
,因此您无需在其后使用break
函数get_column_number
返回一个变量,因此可以使用它赋值给变量
就像:
var = get_column_number()
然后使用var variable
如果您希望它是全局变量,可以使用global
我认为你需要阅读一本python书来掌握基本知识