python读取excel中的表格的某些行列?

yuechengyimeng 2016-05-08 11:20:41


需要读取这里的下班点A-E,开到点时间,这个已经读出来,
for i in range(table.nrows): 
if (len(table.cell(i,0).value)>30)&(i>1):
for w in range(table.nrows):
h=i+w
if (h>i)&(len( table.cell(h,0).value)<11)&(len(table.cell(h,0).value)>3)&(len(table.cell(h,0).value)!=6):
table.cell(h,0).value
if table.cell(h,1).value is '':
table.cell(h,1).value=table.cell(h-1,2).value
print table.cell(h,0).value+" "+table.cell(h-1,2).value
ws.write(h,0,table.cell(h,0).value)
ws.write(h,1,table.cell(h-1,2).value)
wb.save('a.xls')
else:
print table.cell(h,0).value+" "+table.cell(h,1).value
ws.write(h,0,table.cell(h,0).value)
ws.write(h,1,table.cell(h,1).value)
wb.save('a.xls')

可是要怎么读出右边下班人数合计?
表格在excel中位置不固定,程序通过蓝色字符串定位到表格。
而下班人数合计这个在哪一列也不固定,这个要怎么取出1,5,15,34,110这个数据?
...全文
8337 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
EKKO123456 2020-03-26
  • 打赏
  • 举报
回复
楼主后面怎么处理 可是要怎么读出右边下班人数合计?
表格在excel中位置不固定,程序通过蓝色字符串定位到表格。
而下班人数合计这个在哪一列也不固定,这个要怎么取出1,5,15,34,110这个数据?呢
weixin_45903952 2020-03-26
  • 打赏
  • 举报
回复
还有个办法,就是读出最大的列,往回减1就是那列的值了吧
weixin_45903952 2020-03-26
  • 打赏
  • 举报
回复
读取全部表,找到下班合计那个列就是这些数字了
迈克暖风 2016-05-11
  • 打赏
  • 举报
回复
from os import listdir from os.path import isfile, join f = [f for f in listdir(mypath) if isfile(join(mypath, f)) and f.endswith('xlsx')] 或者: from os import walk f = [] for (dirpath, dirnames, filenames) in walk(mypath): if filenames.endswith('xlsx'): f.extend(filenames) 然后 for循环读取文件列表
迈克暖风 2016-05-10
  • 打赏
  • 举报
回复
是用openpyxl吗? 先做一个转换: def conver_excel_data(data): if (data is None) or (data=='N/A') or (data=='0') or (data=='N') or (data=='无'): return '' else: return str(data).strip() 读取公式的值时: 打开workbook 使用 data_only=True wb = load_workbook(file, read_only=True, data_only=True) worksheet有一个max_row 确定一个最后行不为空的列: rows = ws1.max_row-1 for rx in range(rows): mr_line = {} r_str = ws1.cell(row=rx+11, column=11+b_sel).value ...
allen519 2016-05-10
  • 打赏
  • 举报
回复
原来这里也有python的内容啊 标记一个
yuechengyimeng 2016-05-10
  • 打赏
  • 举报
回复
引用 6 楼 mikewolfli 的回复:
是用openpyxl吗? 先做一个转换: def conver_excel_data(data): if (data is None) or (data=='N/A') or (data=='0') or (data=='N') or (data=='无'): return '' else: return str(data).strip() 读取公式的值时: 打开workbook 使用 data_only=True wb = load_workbook(file, read_only=True, data_only=True) worksheet有一个max_row 确定一个最后行不为空的列: rows = ws1.max_row-1 for rx in range(rows): mr_line = {} r_str = ws1.cell(row=rx+11, column=11+b_sel).value ...
那如果要批量读取文件夹下,一样的这些excel。并对这些excel做同样的提取数据,再生成excel 请问这样用python怎么实现?
屎克螂 2016-05-09
  • 打赏
  • 举报
回复
获取 下班人数合计 为第几列
yuechengyimeng 2016-05-09
  • 打赏
  • 举报
回复
引用 2 楼 uiuiy1 的回复:
获取 下班人数合计 为第几列
在哪一列是不确定的
gikod 2016-05-09
  • 打赏
  • 举报
回复
先找"下班人数合计"是在哪个cell,然后这个cell可能占多个列,所以在这一行行横着找,直到找到有数字为止,那就是之后的“1,5,15,34,110”了
混沌鳄鱼 2016-05-08
  • 打赏
  • 举报
回复
把i列数据读出来 table.col_values(i) 读某个格子 table.cell(Col, Row).value的值

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧