使用python代码,实现对于一个excel文件,遍历读取他的所有sheet表,当sheet表为“总行”的时候,读取表头为“接收人工号”和“推送内容”的数据data,(其中"推送内容"是好多列的合并表头),定义一个字典dictext,对data做遍历循环,表头为“接收人工号”的列单元格数据为字典的key值,对表头为“推送内容”的列数据做字符串拼接strtext,strtext做字典的value值,每行遍历都重置strtext 相关所有代码
时间: 2024-03-05 21:53:37 浏览: 40
如何在Python对Excel进行读取
可以使用openpyxl库来实现对excel文件的操作,以下是实现该功能的代码:
```python
import openpyxl
# 打开excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 遍历所有的sheet表
for sheet_name in wb.sheetnames:
sheet = wb[sheet_name]
# 判断sheet表为“总行”
if sheet_name == '总行':
headers = []
data_dict = {}
# 遍历所有的行
for row in sheet.rows:
values = [cell.value for cell in row]
if not any(values):
continue
# 读取表头
if not headers:
headers = values
receiver_index = headers.index('接收人工号')
push_content_index = [i for i, header in enumerate(headers) if '推送内容' in header]
continue
# 读取数据
receiver = values[receiver_index]
strtext = ''
for index in push_content_index:
push_content = values[index]
if push_content:
strtext += push_content
# 将数据存储到字典中
data_dict[receiver] = strtext
print(data_dict)
```
其中,`example.xlsx`为需要读取的excel文件名,可以根据实际情况进行修改。在代码中,我们首先使用`openpyxl.load_workbook()`函数加载excel文件,然后使用`wb.sheetnames`获取所有sheet表的名称,使用`wb[sheet_name]`获取指定名称的sheet表。
在遍历所有的行时,我们首先读取表头,并获取“接收人工号”和“推送内容”的列索引,然后遍历所有的数据行,读取“接收人工号”列和“推送内容”列的数据,将“推送内容”列的数据进行拼接,并将数据存储到字典中,其中“接收人工号”列的数据作为字典的key值,“推送内容”列的数据拼接后的字符串作为字典的value值。最后,输出字典中的数据即可。
阅读全文