python 以下代码改为读取多个表格,代码缩短,workbook = load_workbook(filename='统计.xlsx')
时间: 2024-02-06 13:12:20 浏览: 114
假设你要读取三个 Excel 表格,分别为 file1.xlsx、file2.xlsx、file3.xlsx,你可以使用以下代码:
```python
from openpyxl import load_workbook
# 指定表格文件名列表
filenames = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']
# 使用列表推导式读取多个表格
workbooks = [load_workbook(filename) for filename in filenames]
```
这样,你就可以通过 workbooks 列表中的元素分别访问三个表格了。如果你有更多的表格需要读取,只需要将文件名添加到 filenames 列表中即可。使用列表推导式可以让代码更加简洁、易读。
相关问题
python,以下代码改为读取多个execl表格workbook = load_workbook(filename='统计.xlsx')
假设你要读取三个 Excel 表格,分别为 file1.xlsx、file2.xlsx、file3.xlsx,你可以使用以下代码:
```python
from openpyxl import load_workbook
# 读取第一个表格
wb1 = load_workbook(filename='file1.xlsx')
# 读取第二个表格
wb2 = load_workbook(filename='file2.xlsx')
# 读取第三个表格
wb3 = load_workbook(filename='file3.xlsx')
```
这样,你就可以通过 wb1、wb2、wb3 分别访问三个表格了。如果你有更多的表格需要读取,可以按照上述方式继续添加代码。注意,openpyxl 库的 load_workbook 函数返回的是 Workbook 对象,而不是 DataFrame 对象。如果需要将表格数据转换为 DataFrame,需要使用 pandas 库的 read_excel 函数。
python检查代码错误:from openpyxl import load_workbook import unicodedata # 加载 Excel 文件 workbook = load_workbook(filename='统计.xlsx') # 指定表格文件名列表 filenames = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx'] # 使用列表推导式读取多个表格 workbooks = [load_workbook(filename) for filename in filenames] # 遍历每个工作表 for sheetname in workbooks.sheetnames: sheet = workbooks[sheetname] # 遍历每个单元格 for row in sheet.iter_rows(): for cell in row: # 判断单元格是否为字符串类型 if isinstance(cell.value, str): # 将全角字符转换为半角字符 cell.value = unicodedata.normalize('NFKC', cell.value) # 保存修改后的 Excel 文件 workbooks.save(filename='example1.xlsx')
以下是经过修正后的代码:
```python
import unicodedata
from openpyxl import load_workbook
# 加载 Excel 文件
workbook = load_workbook(filename='统计.xlsx')
# 指定表格文件名列表
filenames = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']
# 使用列表推导式读取多个表格
workbooks = [load_workbook(filename) for filename in filenames]
# 遍历每个工作表
for workbook in workbooks:
for sheetname in workbook.sheetnames:
sheet = workbook[sheetname]
# 遍历每个单元格
for row in sheet.iter_rows():
for cell in row:
# 判断单元格是否为字符串类型
if isinstance(cell.value, str):
# 将全角字符转换为半角字符
cell.value = unicodedata.normalize('NFKC', cell.value)
# 保存修改后的 Excel 文件
workbook.save(filename='example1.xlsx')
```
修正后,代码中的问题包括:
1. `from openpyxl import load_workbook import unicodedata` 这一行代码中应该将 `import unicodedata` 移到 `from openpyxl import load_workbook` 的下一行。
2. `workbooks.sheetnames` 应该修改为 `workbook.sheetnames`,因为在遍历时,变量名 `workbook` 代表的是一个具体的 Excel 表格对象。
3. 最后一行代码应该移动到外层循环之后,否则会将多个 Excel 表格的内容保存到同一个文件中。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)