编写一段Python代码快速遍历整个EXCEL表
时间: 2023-01-11 08:55:36 浏览: 52
可以使用 Python 的第三方库 openpyxl 来快速遍历 Excel 表。
下面是一个例子,它会遍历一个名为 "example.xlsx" 的 Excel 表中的所有单元格,并将它们的值输出到屏幕上:
```
import openpyxl
# 打开 Excel 表
wb = openpyxl.load_workbook('example.xlsx')
# 选择第一个工作表
sheet = wb.active
# 遍历所有行和列
for row in sheet.rows:
for cell in row:
print(cell.value)
```
注意,需要先安装 openpyxl 库,可以使用 pip 命令来安装:
```
pip install openpyxl
```
相关问题
编写一段python代码,遍历文件夹中的所有表格,把编制情况属于在编的人员姓名、身份证号、金额(税前)汇总到新表格“考试考务费”中
以下是一种可能的实现方式:
```python
import os
import pandas as pd
# 设置工作目录和文件夹路径
work_dir = "/path/to/work/dir"
folder_name = "tables"
folder_path = os.path.join(work_dir, folder_name)
# 定义要匹配的文件名和表头
file_name_pattern = "*.xlsx"
header_names = ["姓名", "身份证号", "金额(税前)", "编制情况"]
# 初始化汇总表格
summary_df = pd.DataFrame(columns=header_names)
# 遍历文件夹中的所有表格
for file_name in os.listdir(folder_path):
if file_name.endswith(".xlsx"):
file_path = os.path.join(folder_path, file_name)
# 读取表格数据
table_df = pd.read_excel(file_path)
# 筛选符合条件的行
match_df = table_df[table_df["编制情况"] == "在编"][header_names[:-1]]
# 汇总到总表格中
summary_df = pd.concat([summary_df, match_df], ignore_index=True)
# 保存汇总表格到新文件中
output_file_path = os.path.join(work_dir, "考试考务费.xlsx")
summary_df.to_excel(output_file_path, index=False)
```
这段代码的主要步骤是:
1. 设置工作目录和文件夹路径。
2. 定义要匹配的文件名和表头。
3. 初始化汇总表格。
4. 遍历文件夹中的所有表格。
5. 读取表格数据。
6. 筛选符合条件的行。
7. 汇总到总表格中。
8. 保存汇总表格到新文件中。
需要注意的是,这段代码假设所有表格都是.xlsx格式的,并且都有与header_names相同的表头。如果不符合这些条件,需要根据实际情况进行修改。同时,如果表格数据较大,可能需要进行分批读取和筛选,以避免内存占用过多。
编写一段python代码,遍历d盘temp文件夹中的所有表格,把编制情况属于在编的人员姓名、身份证号、金额(税前)汇总到新表格“考试考务费”中
import os
import pandas as pd
# 创建空的汇总表格
df = pd.DataFrame(columns=['姓名', '身份证号', '金额'])
# 遍历temp文件夹中的所有表格
for filename in os.listdir('D:/temp'):
if filename.endswith('.xlsx') or filename.endswith('.xls'):
# 读取表格数据
data = pd.read_excel(os.path.join('D:/temp', filename))
# 筛选编制情况属于在编的人员
in_service = data[data['编制情况'].str.contains('在编')]
# 提取姓名、身份证号、金额信息
names = in_service['姓名'].tolist()
ids = in_service['身份证号'].tolist()
amounts = in_service['金额(税前)'].tolist()
# 添加到汇总表格
for i in range(len(names)):
df = df.append({'姓名': names[i], '身份证号': ids[i], '金额': amounts[i]}, ignore_index=True)
# 保存汇总表格为新表格“考试考务费”
df.to_excel('D:/temp/考试考务费.xlsx', index=False)
阅读全文