python中xlwings批量读取目录下面的所有excel文件,并把这些excel文件全部批量保存为utf8格式的csv文件
时间: 2023-12-06 17:44:44 浏览: 186
可以使用Python的os和xlwings模块来实现批量读取目录下面的所有excel文件,并将它们批量保存为utf8格式的csv文件。下面是一个示例代码:
```python
import os
import xlwings as xw
# 要读取的目录路径
folder_path = '/path/to/folder'
# 遍历目录下的所有文件
for file_name in os.listdir(folder_path):
# 判断文件是否是Excel文件
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
# 打开Excel文件
file_path = os.path.join(folder_path, file_name)
wb = xw.Book(file_path)
# 遍历Excel文件中的所有工作表
for sheet in wb.sheets:
# 获取工作表的名称
sheet_name = sheet.name
# 将工作表的数据保存为csv文件
csv_file_name = f"{file_name}_{sheet_name}.csv"
csv_file_path = os.path.join(folder_path, csv_file_name)
sheet.api.SaveAs(csv_file_path, FileFormat=6, Local=True)
# 关闭Excel文件
wb.close()
```
在上面的代码中,我们首先指定要读取的目录路径,然后使用os.listdir()函数遍历目录下的所有文件。对于每个Excel文件,我们使用xlwings打开它,并遍历其中的所有工作表。然后,我们将每个工作表的数据保存为csv文件,并将文件名设置为`<Excel文件名>_<工作表名称>.csv`的格式。最后,我们关闭Excel文件,继续处理下一个文件。
阅读全文