python – 如何将xls转换为xlsx

1. 简介

在Python中,我们经常需要处理不同类型的文件。xlsx是一种常见的电子表格文件格式,而xls是一个稍微过时的Excel文件格式。本文将介绍如何使用Python将xls文件转换为xlsx文件。

2. 安装依赖

2.1 使用pip安装openpyxl库

在开始之前,我们需要安装一个名为openpyxl的Python库,它可以用来处理xlsx文件。我们可以使用pip来安装它:

pip install openpyxl

3. 将xls转换为xlsx

下面是将xls文件转换为xlsx文件的步骤:

3.1 导入必要的库

首先,我们需要导入openpyxl库中的一些模块,以便在Python中使用它们:

from openpyxl import Workbook

from openpyxl.utils.dataframe import dataframe_to_rows

import pandas as pd

在这里,我们导入了Workbook类,它是创建新的xlsx文件的关键。我们还从openpyxl.utils.dataframe模块导入dataframe_to_rows函数,用它来将pandas DataFrame转换为带有标题的行。

另外,我们导入pandas库用于读取xls文件中的数据。

3.2 读取xls文件

接下来,我们需要使用pandas库读取xls文件的内容。假设我们的xls文件名为data.xls,以下是读取xls文件的代码:

xls_file = 'data.xls'

df = pd.read_excel(xls_file)

这将创建一个名为df的pandas DataFrame对象,其中包含xls文件中的所有数据。

3.3 创建xlsx文件

现在,我们将使用openpyxl库创建一个新的xlsx文件来保存转换后的数据。以下是创建xlsx文件的代码:

xlsx_file = 'data.xlsx'

wb = Workbook()

ws = wb.active

这里,我们首先定义了xlsx文件的名称(data.xlsx),然后创建了一个Workbook对象(wb)用于保存xlsx文件的内容。然后,我们使用wb.active设置活动工作表(Worksheet),并将其赋值给ws变量。

现在,我们准备将数据从pandas DataFrame写入xlsx文件。

3.4 将数据写入xlsx文件

为了将数据从DataFrame写入xlsx文件,我们需要将数据转换为适合写入xlsx文件的格式。我们可以使用dataframe_to_rows函数将DataFrame转换为带有标题的行。

for r in dataframe_to_rows(df, index=False, header=True):

ws.append(r)

上述代码遍历dataframe_to_rows函数返回的行,并通过ws.append将它们添加到工作表ws中。

3.5 保存xlsx文件

最后,我们需要保存xlsx文件,代码如下:

wb.save(xlsx_file)

这将保存我们转换后的数据到data.xlsx文件中。

4. 总结

本文介绍了如何使用Python将xls文件转换为xlsx文件。我们使用openpyxl库处理xlsx文件,并使用pandas库读取xls文件的内容。然后,我们通过创建一个新的xlsx文件并将数据从pandas DataFrame中写入该文件来进行转换。最后,我们保存xlsx文件。这种方法可以方便地将过时的xls文件转换为更现代的xlsx文件。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签