当前位置: 欣欣网 > 码农

Python生成excel文件的三种方式

2024-03-20码农

在我们做平常工作中都会遇到操作excel,那么今天写一篇,如何通过python操作excel。 当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库都有不同的区别,具体的区别,大家一起来看看吧~

xlwt/xlrd

  • xlrd是对于Excel进行读取,xlrd 操作的是xls/xlxs格式的excel

  • xlwt是对于Excel进行读取,xlwt操作的是xls格式的excel

  • 安装

    xlrd是python的第3方库,需要通过pip进行安装

    pip install xlrd

    1、导入xlrd模块

    2、打开Excel完成实例化

    3、通过下标获取对应的表(可以通过表名获取)

    4、通过列,行或者坐标获取表格的数据

    安装

    xlwt属于python的第3方库,需要通过pip进行安装

    pip install xlwt

    写入Excel数据

    1、首先导入xlwt第3方库

    2、创建一个workbook模块,相当于创建一个xlwt文件

    3、通过add_sheet创建一个表格

    4、使用write函数进行对表完成写的操作

    5、把写完的数据导入到Excel中

    openpyxl

    OpenPyXl是一个Python的模块 可以用来处理excle表格

    安装:

    xlrd是python的第3方库,需要通过pip进行安装

    pip install openpyxl

    使用时在代码内 from openpyxl import Workbook或者from openpyxl import load_workbook


    区别在于前者不需要有excle文件存在 后者需要传入一个excle文件


    前者可以凭空产生一个 后者不行


    使用openpyxl 写入Excel数据

    1、获取workbook
    2、获取 worksheet
    3、再然后 获取单元格 进行操作
    4、保存文件

    pandas

    写入Excel中数据的除了xlwt和openpyxl之外。Pandas也是可以实现这种功能的。

    它纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具,能使我们快速便捷地处理数据。接下来我们就看看如何用pandas读写excel。

    1. 读取excel

    读取excel主要通过read_excel函数实现,除了pandas还需要安装第三方库xlrd。

    2. 写入excel

    写入excel主要通过pandas构造DataFrame,调用to_excel方法实现。

    今天我们准备读取的数据是之前爬取瓜子二手车网站的一些数据,部分数据展示如下:

    我们今天要展示的就是使用上述介绍的三种方法将txt文档的数据写入到excel中。

    # 标题列表
    columns = []
    # 数据列表
    datas = []
    with open('二手车.txt', encoding='utf-8') as fin:
    # 首行判断
    is_first_line = True
    for line in fin:
    line = line[:-1]
    if is_first_line:
    is_first_line = False
    columns = line.split('\t')
    continue
    datas.append(line.split('\t'))
    ic(columns)
    ic(datas)

    读取的行列表和数据列表数据展示如下:

    数据成功读取出来,接下来我们使用三种方式写入到excel中

    使用xlwt生成xls的excel文件

    # 使用xlwt生成xls的excel文件
    import xlwt
    workbook = xlwt.Workbook(encoding='utf-8')
    sheet = workbook.add_sheet('瓜子二手车')
    for col, column in enumerate(columns):
    sheet.write(0, col, column)
    for row, data in enumerate(datas):
    for col, column_data in enumerate(data):
    sheet.write(row+1, col, column_data)
    workbook.save('瓜子二手车1.xls')


    使用openpyxl生成xlsx的excel文件

    # 使用openpyxl生成xlsx的excel文件
    from openpyxl import Workbook
    workbook = Workbook()
    sheet = workbook.active
    sheet.title = '默认title'
    sheet.append(columns)
    for data in datas:
    sheet.append(data)
    workbook.save('瓜子二手车2.xlsx')

    使用pandas生成xlsx的excel文件

    # 使用pandas生成xlsx的excel文件
    import pandas as pd
    rcv_data = pd.read_csv('二手车.txt', sep='\t')
    rcv_data.head()
    ic(rcv_data)
    rcv_data.to_excel('瓜子二手车3.xlsx', index = False)

    以上就是今天给大家介绍的三种数据写入excel的方法, 这写方法在实际工作中需求还是很高的,有兴趣的同学可以试试。