怎么使用python 将多个xlsx格式的excel变成多个xls格式的excel
时间: 2024-01-23 22:45:05 浏览: 148
可以使用Python中的openpyxl库和xlrd/xlwt库来实现将多个xlsx格式的excel变成多个xls格式的excel。
示例代码:
```
import openpyxl
import xlrd
import xlwt
# 读取xlsx文件,并写入xls文件
def convert_xlsx_to_xls(xlsx_file, xls_file):
# 读取xlsx文件
workbook = openpyxl.load_workbook(xlsx_file)
# 创建xls文件
xls_workbook = xlwt.Workbook(encoding='utf-8')
# 遍历xlsx文件中的每个工作表
for sheet_name in workbook.sheetnames:
sheet = workbook[sheet_name]
# 创建xls文件中的工作表
xls_sheet = xls_workbook.add_sheet(sheet_name)
# 遍历xlsx文件中的每个单元格,并将其写入xls文件中
for row_idx, row in enumerate(sheet.rows):
for col_idx, cell in enumerate(row):
xls_sheet.write(row_idx, col_idx, cell.value)
# 保存xls文件
xls_workbook.save(xls_file)
# 将多个xlsx文件转换为xls文件
def convert_multiple_xlsx_to_xls(xlsx_files, output_dir):
for xlsx_file in xlsx_files:
# 构造输出的xls文件名
xls_file = xlsx_file.replace('.xlsx', '.xls')
# 转换xlsx文件为xls文件
convert_xlsx_to_xls(xlsx_file, output_dir + '/' + xls_file)
# 示例:将当前目录下所有xlsx文件转换为xls文件
xlsx_files = [filename for filename in os.listdir('.') if filename.endswith('.xlsx')]
convert_multiple_xlsx_to_xls(xlsx_files, 'output')
```
以上代码中,convert_xlsx_to_xls函数用于将单个xlsx文件转换为xls文件,convert_multiple_xlsx_to_xls函数用于将多个xlsx文件分别转换为xls文件,输出到指定的目录中。具体实现过程是先用openpyxl库读取xlsx文件,再用xlwt库创建xls文件,并将xlsx文件中的数据逐个写入xls文件中。最后保存xls文件即可。
阅读全文