當前位置: 妍妍網 > 碼農

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的方法, 這寫方法在實際工作中需求還是很高的,有興趣的同學可以試試。