Prthon从本地读取excel文件,如何将获得的列表数据取出来?

新手上路,请多包涵

刚刚开始学习Python,对循环和列表不是很懂,自己练习从excel文件(获取的代码是从网上复制的),想把获取的列表内的数据用while循环打印出来。结果报错了,麻烦大家帮我看看怎么修改谢谢啦

import xlrd
from xlrd import xldate_as_tuple
import datetime

data1 = xlrd.open_workbook(r'D:\test.xlsx')
table = data1.sheets()[0]

tables = []

def import_excel(excel):

for test in range(excel.nrows):
    array = [table.cell_value(test, 0), table.cell_value(test, 1),
             table.cell_value(test, 2), table.cell_value(test, 3),
             table.cell_value(test, 4)]
    tables.append(array)

if name == '__main__':

import_excel(table)
for i in tables:
    # pass
    print(i)

num1 = tables[0]
num2 = tables[1]
num3 = tables[2]
num4 = tables[3]
num5 = tables[4]

nu1 = 1
while nu1 < num2:

print("%d\t%d\t%d\t%d\t%d" % (nu1, num2, num3, num4, num5))
nu1 = nu1 + 1

输出结果:
D:PythontestvenvScriptspython.exe D:/Python/test/test_excel.py
[2.0, 4.0, 6.0, 8.0, 10.0]
[1.0, 3.0, 5.0, 7.0, 9.0]
....
[3.0, 5.0, 7.0, 8.0, 10.0]
Traceback (most recent call last):
File "D:/Python/test/test_excel.py", line 33, in <module>

while nu1 < num2:

TypeError: '<' not supported between instances of 'int' and 'list'

阅读 1.7k
1 个回答
新手上路,请多包涵

这个报错的意思是 两个变量数据类型不同,一个 nu1 是 int 整型,一个 num2 是 list 列表类型 ,数据类型不同所以不能直接比较
第一次循环判断的时候 ,你是 用 nu1 < num2 比较
而 nu1 此时等于 1
num2 此时是个列表 [1.0, 3.0, 5.0, 7.0, 9.0]

你可以把 while nu1 < num2:
改为 while nu1 < len(num2):
这样应该就可以了。

顺便说一句,我也是菜鸟,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏