Python xls转xlsx,格式不变
在实际工作中,我们常常会遇到需要处理Excel文件的情况。而有时候,我们手里拿到的Excel文件可能是一个老版本的xls格式,而我们更倾向于使用新版本的xlsx格式。那么,如何将xls格式的Excel文件转换成xlsx格式的呢?本文将介绍如何使用Python实现xls转xlsx,并保持格式不变。
1. 安装依赖库
在实现xls转xlsx的过程中,我们将会使用到openpyxl
库。这是一个专门用于读写Excel文件的Python库。如果您还没有安装该库,可以使用以下命令进行安装:
pip install openpyxl
2. 实现xls转xlsx的代码
下面是一个简单的Python脚本,演示了如何将xls格式的Excel文件转换成xlsx格式,并保持格式不变:
import openpyxl
import xlrd
def xls_to_xlsx(source_file, target_file):
# 读取xls文件
xls_book = xlrd.open_workbook(source_file)
sheet_names = xls_book.sheet_names()
# 创建一个新的xlsx文件
xlsx_book = openpyxl.Workbook()
xlsx_sheet = xlsx_book.active
xlsx_sheet.title = sheet_names[0]
# 复制数据
xls_sheet = xls_book.sheet_by_name(sheet_names[0])
for row in range(xls_sheet.nrows):
for col in range(xls_sheet.ncols):
xlsx_sheet.cell(row=row+1, column=col+1).value = xls_sheet.cell_value(row, col)
# 保存为xlsx文件
xlsx_book.save(target_file)
print(f"转换完成,已将{source_file}转换为{xlsx_file}")
# 指定要转换的xls文件和要保存的xlsx文件
xls_file = "example.xls"
xlsx_file = "example.xlsx"
# 调用函数进行转换
xls_to_xlsx(xls_file, xlsx_file)
在上面的代码中,我们首先使用xlrd
库读取了xls格式的Excel文件,然后使用openpyxl
库创建了一个新的xlsx文件,并将xls文件中的数据复制到新文件中,最后保存为xlsx格式。在代码的末尾,我们调用xls_to_xlsx
函数,将指定的xls文件转换为xlsx文件。
3. 运行结果
假设我们有一个名为example.xls
的xls格式的Excel文件,文件内容如下:
姓名 | 年龄 | 性别 |
---|---|---|
张三 | 25 | 男 |
李四 | 30 | 女 |
我们希望将该xls文件转换成xlsx格式。运行上述代码后,将在同一目录下生成一个名为example.xlsx
的xlsx文件,其内容与原始xls文件完全相同。
4. 总结
通过本文介绍的方法,我们可以使用Python轻松实现将xls格式的Excel文件转换成xlsx格式,并且在转换过程中可以保持格式不变。这种方法简单、高效,非常适合在实际工作中处理Excel文件的需求。