这里需要一些帮助,
这是我的代码:
import xlutils
import xlrd
import os
import sys
datafile = r'C:\\someexcelfileediting.xlsx'
workbook = xlrd.open_workbook(datafile)
stone = workbook.sheet_by_name(input('What is the name of the sheet you are trying to reference? ').upper())
paper = workbook.sheet_by_name(input('what sheet would you like to check? ').upper())
def check_Base():
set2 = set()
for row in range (0, paper.nrows):
for col in range(0, paper.ncols):
set2.add(paper.cell_value(row, col))
print (len(set2))
print (set2)
check_Base()
我最终得到的是它正在迭代的 Excel 工作表的 91 个值中的 79 个,我不明白为什么它排除了文件中的 12 个条目。数据似乎没有省略不同行和列中的随机值的模式。任何帮助,将不胜感激。
谢谢, 会
最佳答案
set
将为您提供唯一值的无序集合。如果电子表格中有重复的单元格,则只有第一个单元格会添加到集合中,其余单元格将被丢弃。
根据您的评论,听起来您只是在进行一些调试,但如果您确实需要计算已解压的单元格数量,一种选择是将它们附加
到列表中首先,然后将其转换为集合。
mylist = []
for row in range (0, paper.nrows):
for col in range(0, paper.ncols):
mylist.append(paper.cell_value(row, col))
print len(mylist) # 91
myset = set(mylist)
print len(myset) # 79
关于Python xlrd 对 Excel 电子表格的迭代遗漏了单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28970809/