Python 生成 Excel 文件的三種方式
在我們做平常工作中都會遇到操作 Excel,那么今天寫一篇,如何通過 Python操作 Excel
當(dāng)然 Python 操作 Excel的庫有很多,比如:Pandas,xlwt/xlrd,openpyxl等,每個庫都有不同的區(qū)別,具體的區(qū)別,大家一起來看看吧~
xlwt/xlrd
-
xlrd是對于Excel進(jìn)行讀取,xlrd 操作的是xls/xlxs格式的excel
-
xlwt是對于Excel進(jìn)行讀取,xlwt操作的是xls格式的excel
安裝
xlrd是python的第3方庫,需要通過pip進(jìn)行安裝
pip install xlrd
1、導(dǎo)入xlrd模塊
2、打開Excel完成實例化
3、通過下標(biāo)獲取對應(yīng)的表(可以通過表名獲取)
4、通過列,行或者坐標(biāo)獲取表格的數(shù)據(jù)
安裝
xlwt屬于python的第3方庫,需要通過pip進(jìn)行安裝
pip install xlwt
寫入Excel數(shù)據(jù)
1、首先導(dǎo)入xlwt第3方庫
2、創(chuàng)建一個workbook模塊,相當(dāng)于創(chuàng)建一個xlwt文件
3、通過add_sheet創(chuàng)建一個表格
4、使用write函數(shù)進(jìn)行對表完成寫的操作
5、把寫完的數(shù)據(jù)導(dǎo)入到Excel中
openpyxl
OpenPyXl是一個Python的模塊 可以用來處理excle表格
安裝:
xlrd是python的第3方庫,需要通過pip進(jìn)行安裝
pip install openpyxl
使用時在代碼內(nèi) from openpyxl import Workbook或者from openpyxl import load_workbook
區(qū)別在于前者不需要有excle文件存在 后者需要傳入一個excle文件
前者可以憑空產(chǎn)生一個 后者不行
使用openpyxl 寫入Excel數(shù)據(jù)
1、獲取workbook
2、獲取 worksheet
3、再然后 獲取單元格 進(jìn)行操作
4、保存文件
pandas
寫入Excel中數(shù)據(jù)的除了xlwt和openpyxl之外。Pandas也是可以實現(xiàn)這種功能的。
它納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具,能使我們快速便捷地處理數(shù)據(jù)。接下來我們就看看如何用pandas讀寫excel。
1. 讀取excel
讀取excel主要通過read_excel函數(shù)實現(xiàn),除了pandas還需要安裝第三方庫xlrd。
2. 寫入excel
寫入excel主要通過pandas構(gòu)造DataFrame,調(diào)用to_excel方法實現(xiàn)。
今天我們準(zhǔn)備讀取的數(shù)據(jù)是之前爬取瓜子二手車網(wǎng)站的一些數(shù)據(jù),部分?jǐn)?shù)據(jù)展示如下:

我們今天要展示的就是使用上述介紹的三種方法將txt文檔的數(shù)據(jù)寫入到excel中。
# 標(biāo)題列表
columns = []
# 數(shù)據(jù)列表
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)
讀取的行列表和數(shù)據(jù)列表數(shù)據(jù)展示如下:

數(shù)據(jù)成功讀取出來,接下來我們使用三種方式寫入到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 = '默認(rèn)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)

以上就是今天給大家介紹的三種數(shù)據(jù)寫入excel的方法, 這寫方法在實際工作中需求還是很高的,有興趣的同學(xué)可以試試
