python的excel转换xls为xlsx几种方法
时间: 2023-09-06 21:05:13 浏览: 2126
Python的excel库中,可以使用多种方法将xls文件转换为xlsx文件。
一种常用的方法是使用openpyxl库。该库可以读取和写入xlsx文件,因此可以使用openpyxl.load_workbook()函数打开xls文件,然后使用save()函数将其保存为xlsx文件。示例如下:
```python
import openpyxl
# 打开xls文件
wb = openpyxl.load_workbook('file.xls')
# 创建一个新的xlsx文件
new_wb = openpyxl.Workbook()
# 将xls文件中的数据复制到xlsx文件
for sheetname in wb.sheetnames:
sheet = new_wb.create_sheet(sheetname)
for row in wb[sheetname].iter_rows():
sheet.append([cell.value for cell in row])
# 保存为xlsx文件
new_wb.save('file.xlsx')
```
另一种方法是使用pandas库,它提供了丰富的数据处理功能。可以使用pandas的read_excel()函数打开xls文件,然后使用to_excel()函数将其保存为xlsx文件。示例如下:
```python
import pandas as pd
# 打开xls文件
df = pd.read_excel('file.xls')
# 保存为xlsx文件
df.to_excel('file.xlsx', index=False)
```
除了以上两种方法,还可以使用xlrd和xlwt库进行转换。可以使用xlrd.open_workbook()函数打开xls文件,然后使用xlwt.Workbook()函数创建一个新的xlsx文件,使用xlwt中的write()函数将数据逐行写入xlsx文件,最后使用save()函数保存xlsx文件。示例如下:
```python
import xlrd
import xlwt
# 打开xls文件
wb = xlrd.open_workbook('file.xls')
# 创建一个新的xlsx文件
new_wb = xlwt.Workbook()
# 将xls文件中的数据复制到xlsx文件
for sheetname in wb.sheet_names():
sheet = new_wb.add_sheet(sheetname)
for row in range(wb.sheet_by_name(sheetname).nrows):
for col in range(wb.sheet_by_name(sheetname).ncols):
sheet.write(row, col, wb.sheet_by_name(sheetname).cell(row, col).value)
# 保存为xlsx文件
new_wb.save('file.xlsx')
```
总之,根据实际需求,可以选择适合的方法将xls文件转换为xlsx文件。
阅读全文