pandas實現(xiàn)excel表格處理并讀取指定sheet的方法
pandas處理excel表格,查看有多少個sheet
import pandas as pd
data = pd.ExcelFile('20200710.xls')
sheet_names = data.sheet_names
print(sheet_names)
['1.1信息-客戶信息', '1.2信息-受電設(shè)備', '1.3信息-工單查詢', '1.2電費-用戶信息', '2.2電費-電費收取', '2.3抄表電量信息', '2.4退補處理方案']
pandas讀取指定的sheet_name
for sheet in sheet_names:
if sheet == '1.1信息-客戶信息':
# 讀取1.1信息-客戶信息,并將nan替換成空字符串''
df = pd.read_excel('20200710.xls', sheet_name=sheet).fillna('')

查看表格發(fā)現(xiàn)前3行信息,并不是我們所需要的,所以需要將前3行剔除;更換表頭(columns)
for sheet in sheet_names:
if sheet == '1.1信息-客戶信息':
# 讀取1.1信息-客戶信息,并將nan替換成空字符串''
df = pd.read_excel('20200710.xls', sheet_name=sheet).fillna('')
df_ = df.iloc[3:, :]
# 修改表3行以后的數(shù)據(jù)并將表頭修改:df.iloc[2:3, :].values[0]
df_.columns = df.iloc[2:3, :].values[0]
print(df_)
"""
序號 立戶日期 用戶名稱 ... 納稅人電話 增值稅銀行 注冊地址
3 1 2015-09-02 00:00:00 泊頭市恒廣鑄造有限公司 ... 15128788399 工行泊頭河?xùn)|支行 泊頭市堤口王村
"""
通過pandas寫入數(shù)據(jù)庫
方法一:
# 根據(jù)需求添加需要的字段
df_['create_by'] = ['c_by' for _ in range(df_.shape[0])]
time_s = int(time.time()*100000)
df_['batch'] = [time_s for _ in range(df_.shape[0])]
"""
[{'序號': 1, '立戶日期': Timestamp('2015-09-02 00:00:00'), '用戶名稱': '泊頭市恒廣鑄造有限公司', '用戶編號': '0648716963', '用電地址': '河北省滄州市泊頭市泊鎮(zhèn)堤口王村', '合同容量 ': 900, '供電單位': '國網(wǎng)泊頭市供電公司', '用戶類別': '大工業(yè)用電', '行業(yè)分類': '其他金屬制品制造', '高耗能行業(yè)類別': '', '負(fù)荷性質(zhì)': '三類', '用戶分類': '高壓', '供電電壓': '交流10kV', '生產(chǎn)班次': '三班', '轉(zhuǎn)供標(biāo)志': '無轉(zhuǎn)供', '電費結(jié)算方式': '抄表結(jié)算', '票據(jù)類型': '增值稅發(fā)票', '抄表段': 1290005923, '收費協(xié)議號': '', '繳費方式': '非金融機構(gòu)95598銀聯(lián)繳費', '運行容量': 900, '停電標(biāo)志': '未實施停電', '臨時用電標(biāo)志': '非臨時用電', '城鄉(xiāng)類別': '農(nóng)村', '省': '河北省', '市': '滄州市', '區(qū)': '泊頭市', '街道(鄉(xiāng)鎮(zhèn))': '泊鎮(zhèn)', '居委會(村)': '堤口王村', '道路': '104國道', '小區(qū)': '', '門牌號': '道邊', '增值稅名': '泊頭市恒廣鑄造有限公司', '增值稅號': '911309813362468134', '增值稅賬號': '0408318209300004418', '納稅人電話': 15128788399, '增值稅銀行': '工行泊頭河?xùn)|支行', '注冊地址': '泊頭市堤口王村'}]
"""
# 在Django中需要向數(shù)據(jù)庫中插入多條數(shù)據(jù)(list)
df_list = df_.to_dict(orient='records')
Blog.objects.bulk_create(df_list)
方法二:
df_.to_sql(name='blog', con=engine, chunksize=1000, if_exists='replace', index=False)
"""
chunksize可以設(shè)置一次入庫的大??;
if_exists設(shè)置如果數(shù)據(jù)庫中存在同名表怎么辦,
‘replace'表示將表原來數(shù)據(jù)刪除放入當(dāng)前數(shù)據(jù);
‘a(chǎn)ppend'表示追加;
‘fail'則表示將拋出異常,結(jié)束操作,默認(rèn)是‘fail';
index=接受boolean值,表示是否將DataFrame的index也作為表的列存儲
"""
以上就是pandas實現(xiàn)excel表格處理并讀取指定sheet的方法的詳細(xì)內(nèi)容,更多關(guān)于pandas excel處理并讀取sheet的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
利用Python通過商品條形碼查詢商品信息的實現(xiàn)示例
這篇文章主要介紹了利用Python通過商品條形碼查詢商品信息,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
PyTorch在Windows環(huán)境搭建的方法步驟
這篇文章主要介紹了PyTorch在Windows環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
詳解分布式系統(tǒng)中如何用python實現(xiàn)Paxos
提到分布式算法,就不得不提 Paxos 算法,在過去幾十年里,它基本上是分布式共識的代 名詞,因為當(dāng)前最常用的一批共識算法都是基于它改進的。比如,F(xiàn)ast Paxos 算法、 Cheap Paxos 算法、Raft 算法、ZAB 協(xié)議等等。2021-05-05
圖解Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別
這篇文章主要介紹了Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別,淺拷貝和深拷貝想必大家在學(xué)習(xí)中遇到很多次,這也是面試中常常被問到的問題,本文就帶你詳細(xì)了解一下2023-05-05
PyTorch快速搭建神經(jīng)網(wǎng)絡(luò)及其保存提取方法詳解
本篇文章主要介紹了PyTorch快速搭建神經(jīng)網(wǎng)絡(luò)及其保存提取方法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04

