您的位置:

Pythonxls转xlsx实战详解

Python已成为最流行的编程语言之一,其卓越的数据处理能力,让Python应用领域变得越来越广泛。其中,Pythonxls转xlsx库能够提供快速的Excel转换,并且非常易于使用。本文将详细介绍Pythonxls转xlsx库在实际应用中的丰富功能。

一、Python转Matlab

1、Pythonxls转xlsx是将Excel文件格式从xls转换为xlsx。Pythonxls转xlsx包括两部分,一个是使用xlrd将xls文件读入内存,第二个是使用openpyxl将xlrd生成的Python内存对象写入.xlsx文件中。

2、使用Pythonxls转xlsx库进行Excel转换是一种非常便利的方式,让你仅使用一些代码就可以实现Excel文件格式转换。下面是Pythonxls转xlsx的示例代码:


import xlrd
import openpyxl

def xls_to_xlsx(file_path):
    #打开xls文件
    xls_file = xlrd.open_workbook(file_path)
    #新建xlsx文件
    xlsx_file = openpyxl.Workbook()
    #获取xls文件中的所有sheet名称
    sheets = xls_file.sheet_names()
    for sheetName in sheets:
        #获取每个sheet对象
        sheet = xls_file.sheet_by_name(sheetName)
        #创建新的sheet
        active_sheet = xlsx_file.create_sheet(sheetName,0)
        #逐行逐列拷贝xls内容到xlsx
        for row in range(0,sheet.nrows):
            for col in range(0,sheet.ncols):
                active_sheet.cell(row=row+1,column=col+1,value=sheet.cell_value(row,col))
    #保存xlsx文件
    xlsx_file.save(file_path + "x")

在上面的代码中,我们使用了xlrd和openpyxl模块从xls文件中读取数据,并将数据写入到.xlsx文件中。这将生成一个新的Excel文件,该文件的格式已从xls转换为xlsx。

二、Pythonjson转str

Pythonxls转xlsx可以轻松地将Excel文件转换为.xlsx格式。但是,在使用Pythonxls转xlsx库时,我们经常会遇到将Excel数据转换为字符串的需求。为此,我们可以将Excel文件先转换为Python的数据结构,然后将它转换为字符串。

下面是一个将Excel数据转换为字符串的示例代码:


import xlrd

def xls_to_string(file_path):
    #打开xls文件
    xls_file = xlrd.open_workbook(file_path)
    #获取第一个sheet对象
    sheet = xls_file.sheet_by_index(0)
    rows = []
    #逐行读取xls文件数据
    for row in range(0,sheet.nrows):
        #将每行数据存储为字符串数组
        rows.append([str(sheet.cell_value(row,col)) for col in range(0,sheet.ncols)])
    #将数据转换为字符串
    content_str = '\n'.join([','.join(row) for row in rows])

    return content_str

在上面的代码中,我们首先使用xlrd模块读取Excel文件中的数据。然后,我们将数据存储为Python列表行(column)数据,并将其转换为字符串。最后,我们将所有数据行连接起来,形成一个完整的字符串。

三、Python2转Python3

Pythonxls转xlsx库是一个Python2/Python3兼容的库,可以在不同的Python版本上运行。以下是一个将Python2代码转换为Python3代码示例:


import xlrd
import openpyxl

def xls_to_xlsx(file_path):
    #打开xls文件
    xls_file = xlrd.open_workbook(file_path)
    #新建xlsx文件
    xlsx_file = openpyxl.Workbook()
    #获取xls文件中的所有sheet名称
    sheets = xls_file.sheet_names()
    for sheetName in sheets:
        #获取每个sheet对象
        sheet = xls_file.sheet_by_name(sheetName)
        #创建新的sheet
        active_sheet = xlsx_file.create_sheet(sheetName,0)
        #逐行逐列拷贝xls内容到xlsx
        for row in range(0,sheet.nrows):
            for col in range(0,sheet.ncols):
                active_sheet.cell(row=row+1,column=col+1,value=sheet.cell_value(row,col))
    #保存xlsx文件
    xlsx_file.save(file_path + "x")

Python 2与Python 3有一些不同的语法规则。如,在Python2中print是语句,在Python3中它是函数。在上面的示例中,代码已经进行了一些Python 2到Python 3的调整,以保证代码在不同版本的Python中均能正常运行。

四、总结

本文通过介绍Pythonxls转xlsx库的三个功能应用,提供了Pythonxls转xlsx库在实际中的应用。这是一种便利而且实用的工具,能够极大地方便Excel文件的转换和处理。