使用len()获取数组索引数量异常:Python读取Excel数据问题
解决len()无法获取Excel列元素数量的问题
你现在的问题出在x.append(df['Numbers'])这行代码上——df['Numbers']返回的是一个pandas Series对象,你把整个Series作为单个元素添加到了列表x里,所以len(x)只会返回1(列表里只有1个元素,就是那个Series),而不是你要的Excel列里的元素数量。
方案1:直接使用Series获取长度
不需要把Series放到列表里,直接操作这个Series就能拿到正确长度:
import pandas as pd df = pd.ExcelFile('empty_book-kopi.xlsx').parse('Sheet 1') x = df['Numbers'] # 直接赋值为Series print("Print method says : ") print(x) print('\n') print("Length method says : ") print(len(x)) # 也可以用x.size或x.shape[0],效果一致
方案2:转成列表后再操作
如果确实需要把数据放到普通列表里,要先把Series转换成列表:
import pandas as pd df = pd.ExcelFile('empty_book-kopi.xlsx').parse('Sheet 1') x = df['Numbers'].tolist() # 将Series转为普通列表 print("Print method says : ") print(x) print('\n') print("Length method says : ") print(len(x)) # 现在能得到正确的元素数量
内容的提问来源于stack exchange,提问作者AnxiousDino
相关产品推荐
相关产品推荐

