pandas實(shí)現(xiàn)excel表格處理并讀取指定sheet的方法
pandas處理excel表格,查看有多少個(gè)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電費(fèi)-用戶信息', '2.2電費(fèi)-電費(fèi)收取', '2.3抄表電量信息', '2.4退補(bǔ)處理方案']
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_) """ 序號(hào) 立戶日期 用戶名稱 ... 納稅人電話 增值稅銀行 注冊(cè)地址 3 1 2015-09-02 00:00:00 泊頭市恒廣鑄造有限公司 ... 15128788399 工行泊頭河?xùn)|支行 泊頭市堤口王村 """
通過pandas寫入數(shù)據(jù)庫(kù)
方法一:
# 根據(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])] """ [{'序號(hào)': 1, '立戶日期': Timestamp('2015-09-02 00:00:00'), '用戶名稱': '泊頭市恒廣鑄造有限公司', '用戶編號(hào)': '0648716963', '用電地址': '河北省滄州市泊頭市泊鎮(zhèn)堤口王村', '合同容量 ': 900, '供電單位': '國(guó)網(wǎng)泊頭市供電公司', '用戶類別': '大工業(yè)用電', '行業(yè)分類': '其他金屬制品制造', '高耗能行業(yè)類別': '', '負(fù)荷性質(zhì)': '三類', '用戶分類': '高壓', '供電電壓': '交流10kV', '生產(chǎn)班次': '三班', '轉(zhuǎn)供標(biāo)志': '無轉(zhuǎn)供', '電費(fèi)結(jié)算方式': '抄表結(jié)算', '票據(jù)類型': '增值稅發(fā)票', '抄表段': 1290005923, '收費(fèi)協(xié)議號(hào)': '', '繳費(fèi)方式': '非金融機(jī)構(gòu)95598銀聯(lián)繳費(fèi)', '運(yùn)行容量': 900, '停電標(biāo)志': '未實(shí)施停電', '臨時(shí)用電標(biāo)志': '非臨時(shí)用電', '城鄉(xiāng)類別': '農(nóng)村', '省': '河北省', '市': '滄州市', '區(qū)': '泊頭市', '街道(鄉(xiāng)鎮(zhèn))': '泊鎮(zhèn)', '居委會(huì)(村)': '堤口王村', '道路': '104國(guó)道', '小區(qū)': '', '門牌號(hào)': '道邊', '增值稅名': '泊頭市恒廣鑄造有限公司', '增值稅號(hào)': '911309813362468134', '增值稅賬號(hào)': '0408318209300004418', '納稅人電話': 15128788399, '增值稅銀行': '工行泊頭河?xùn)|支行', '注冊(cè)地址': '泊頭市堤口王村'}] """ # 在Django中需要向數(shù)據(jù)庫(kù)中插入多條數(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è)置一次入庫(kù)的大小; if_exists設(shè)置如果數(shù)據(jù)庫(kù)中存在同名表怎么辦, ‘replace'表示將表原來數(shù)據(jù)刪除放入當(dāng)前數(shù)據(jù); ‘a(chǎn)ppend'表示追加; ‘fail'則表示將拋出異常,結(jié)束操作,默認(rèn)是‘fail'; index=接受boolean值,表示是否將DataFrame的index也作為表的列存儲(chǔ) """
以上就是pandas實(shí)現(xiàn)excel表格處理并讀取指定sheet的方法的詳細(xì)內(nèi)容,更多關(guān)于pandas excel處理并讀取sheet的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python數(shù)據(jù)結(jié)構(gòu)與算法之鏈表定義與用法實(shí)例詳解【單鏈表、循環(huán)鏈表】
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之鏈表定義與用法,結(jié)合具體實(shí)例形式較為詳細(xì)的分析了單鏈表、循環(huán)鏈表等的定義、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-09-09Python機(jī)器學(xué)習(xí)之AdaBoost算法
今天帶大家來學(xué)習(xí)Python機(jī)器學(xué)習(xí),文中對(duì)AdaBoost算法介紹的很詳細(xì),有非常多的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05Python圖像處理之圖像的縮放、旋轉(zhuǎn)與翻轉(zhuǎn)實(shí)現(xiàn)方法示例
這篇文章主要介紹了Python圖像處理之圖像的縮放、旋轉(zhuǎn)與翻轉(zhuǎn)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python使用resize()、rotate()及transpose()等函數(shù)進(jìn)行圖像的縮放、旋轉(zhuǎn)及翻轉(zhuǎn)相關(guān)操作技巧,需要的朋友可以參考下2019-01-01Python簡(jiǎn)潔優(yōu)雅的推導(dǎo)式示例詳解
這篇文章主要給大家介紹了關(guān)于Python簡(jiǎn)潔優(yōu)雅的推導(dǎo)式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04