使用python代码,对excel文件“临时文件\推送名单.xlsx”操作,遍历此excel的所有sheet,当sheet名为“总行”的时候,读取表头为“接收人工号”,和“推送内容”(这一表头名称是合并单元格,合并的是多列的所在数据)的这些列数据data,遍历这些数据
时间: 2024-03-02 11:51:19 浏览: 110
好的,首先需要安装python的excel读取库openpyxl。可以使用以下命令进行安装:
```python
pip install openpyxl
```
然后,可以使用以下代码读取excel文件,并遍历所有sheet,当sheet名为“总行”的时候,读取表头为“接收人工号”和“推送内容”这两列数据,并遍历这些数据:
```python
import openpyxl
# 打开excel文件
workbook = openpyxl.load_workbook('临时文件\\推送名单.xlsx')
# 遍历所有sheet
for sheetname in workbook.sheetnames:
worksheet = workbook[sheetname]
# 当sheet名为“总行”的时候
if sheetname == '总行':
# 读取表头为“接收人工号”和“推送内容”这两列数据
column_dict = {}
for column in worksheet.iter_cols(min_row=1, max_row=1):
for cell in column:
if cell.value == '接收人工号' or cell.value == '推送内容':
column_dict[cell.col_idx] = cell.value
# 遍历这些数据
for row in worksheet.iter_rows(min_row=2):
data = {}
for cell in row:
if cell.col_idx in column_dict:
data[column_dict[cell.col_idx]] = cell.value
print(data)
```
其中,`min_row`和`max_row`参数用于指定遍历数据的行范围,这里设置为从第二行开始遍历到最后一行。`iter_cols`函数用于获取指定行的所有列,`iter_rows`函数用于获取指定列的所有行。`col_idx`属性表示当前单元格所在列的序号。如果当前单元格的表头为“接收人工号”或“推送内容”,则将其列序号和表头名称存储在`column_dict`中。在遍历每一行数据时,如果当前单元格的列序号在`column_dict`中,则将该单元格的值存储在`data`字典中,并输出`data`字典的内容。
阅读全文