在我們做平常工作中都會遇到操作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的方法, 這寫方法在實際工作中需求還是很高的,有興趣的同學可以試試。