前言:
此时朋友们对“python求excel的行和列”可能比较关切,各位老铁们都想要了解一些“python求excel的行和列”的相关知识。那么小编同时在网摘上搜集了一些关于“python求excel的行和列””的相关文章,希望大家能喜欢,我们一起来学习一下吧!import openpyxlimport osimport sys#得到绝对路径_也就是pyhon文件所在的路径-这样后期打包成exe执行文件#不会找不到路径parent = os.path.dirname(os.path.realpath(sys.argv[0]))#拼接路径filenames = os.listdir(parent)# 得到真实的行def get_real_max_row(sheet): i=sheet.max_row real_max_row = 0 while i > 0: # print('i='+str(i)) # print('sheet[i]'+str(sheet[i])) # for y in sheet[i]: # print(y) # print(str(y.value)) row_dict = {i.value for i in sheet[i]} #得到每一行的值,如果为空,那么,i.value就是None #因为添加的数据字段所以,在每一行中,for循环找到所有的列, #看每一列是否都是一个None如果都是,那么这一行就是空行 #最大行减1 循环下去就会得到最终的行 #print('row_dict'+str(sheet[i])) if row_dict == {None}: i = i-1 else: real_max_row = i break return real_max_row# 得到真实的列,中间如果有空列也算一列def get_real_max_colum(sheet): y=sheet.max_column real_max_colum = 0 while y > 0: #循环行得到列的数据字典,如果列都为空就是{None} 否则就是空列 row_dict = {sheet.cell(i, y).value for i in range(1,sheet.max_row+1)} #print(row_dict) if row_dict == {None}: y = y-1 else: real_max_colum=y break return real_max_columif __name__ == '__main__': for filename in filenames: if filename.endswith('.xlsx'): wookbook = openpyxl.load_workbook(parent + '\\' + filename) active_sheet = wookbook.active print("最大行=" + str(active_sheet.max_row)) print('最大列=' + str(active_sheet.max_column)) print('get_real_max_row=' + str(get_real_max_row(active_sheet))) print('get_real_max_colum=' + str(get_real_max_colum(active_sheet)))
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #python求excel的行和列