python 刪除空值且合并excel的操作
適用條件
1:excel表比較多
2:excel的數(shù)據(jù)量比較大,不然的話excel篩選&手動(dòng)合并還是很舒服滴~
需求
取出【電話】列中不為空所對(duì)應(yīng)的行的值并且將幾張表給合并起來(lái)
來(lái)來(lái)來(lái),放代碼了!!
import xlrd import pandas as pd import openpyxl target_xls = "合并表1.xlsx" source_xls = ["全1.xlsx", "全2.xlsx","全3.xlsx",\ "全4.xlsx","全5.xlsx","全6.xlsx"] sysptoms=pd.DataFrame() for i in range(len(source_xls)): print(i)#了解打印進(jìn)度 sheet2=pd.read_excel(source_xls[i]).fillna("")#有空格,填充函數(shù),填的空值。要加fillna,不然無(wú)法刪除空值所對(duì)應(yīng)的行 sysptom = sheet2[sheet2['電話'] !=""]#篩選 sysptoms=pd.concat([sysptoms,sysptom])#兩個(gè)dataframe合并,相當(dāng)于合并excel print(type(sysptom)) sysptoms.to_excel(target_xls, index=False)#pandas寫入excel用.to_excel print("ok")
補(bǔ)充:python 讀取excel數(shù)據(jù),遇到空單元格的處理方法
讀取excel表格時(shí),經(jīng)常遇到空單元格的情況,這時(shí)需要明確的是,空單元格在python中是什么格式,NULL?NAN還是什么?
在用 xlrd 函數(shù)讀入excel時(shí),空單元格其實(shí)是空字符串'' 形式
因此處理方法就很簡(jiǎn)單啦,如下:
infilename = r'D:\aajja.xlsx' workbook = xlrd.open_workbook(infilename) df = workbook.sheet_by_name('sheetname') num_rows = df.nrows - 1 # 我這里是第一行不要,所以跳過(guò)了 num_cols = df.ncols t = 0 im_data = np.zeros((num_rows, num_cols)) for curr_row in range(1, num_rows+1): for curr_col in range(num_cols): rawVal = df.cell(curr_row, curr_col).value if isinstance(rawVal, str): im_data[curr_row - 1, curr_col] = np.nan else: im_data[curr_row - 1, curr_col] = float(rawVal)
其實(shí)重點(diǎn)就一句:
if isinstance(rawVal, str)
判斷該單元格數(shù)值是否為字符串,當(dāng)然如果你的excel中本來(lái)就有字符串格式數(shù)據(jù),這里可以更改為判斷是否為空字符串,稍微修改一下即可
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python使用PyQt5/PySide2編寫一個(gè)極簡(jiǎn)的音樂(lè)播放器功能
這篇文章主要介紹了Python中使用PyQt5/PySide2編寫一個(gè)極簡(jiǎn)的音樂(lè)播放器功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02Python中關(guān)于面向?qū)ο笏接袑傩苑椒ǖ脑敿?xì)講解
在實(shí)際開(kāi)發(fā)中,對(duì)象的某些屬性或方法可能只希望在對(duì)象的內(nèi)部被使用,而不希望在外部被訪問(wèn)到,私有屬性就是對(duì)象不希望公開(kāi)的屬性,私有方法就是對(duì)象不希望公開(kāi)的方法2021-10-10Python函數(shù)的返回值、匿名函數(shù)lambda、filter函數(shù)、map函數(shù)、reduce函數(shù)用法實(shí)例分析
這篇文章主要介紹了Python函數(shù)的返回值、匿名函數(shù)lambda、filter函數(shù)、map函數(shù)、reduce函數(shù)用法,結(jié)合實(shí)例形式分析了Python函數(shù)的返回值、匿名函數(shù)lambda、filter函數(shù)、map函數(shù)、reduce函數(shù)相關(guān)功能、原理與使用技巧,需要的朋友可以參考下2019-12-12Python3爬蟲里關(guān)于識(shí)別微博宮格驗(yàn)證碼的知識(shí)點(diǎn)詳解
在本篇文章里小編給大家分享了關(guān)于Python3爬蟲里關(guān)于識(shí)別微博宮格驗(yàn)證碼的知識(shí)點(diǎn),有興趣的朋友們可以參考下。2020-07-07Opencv-Python圖像透視變換cv2.warpPerspective的示例
今天小編就為大家分享一篇關(guān)于Opencv-Python圖像透視變換cv2.warpPerspective的示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04解決使用OpenCV中的imread()內(nèi)存報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決使用OpenCV中的imread()內(nèi)存報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Python數(shù)據(jù)分析之分析千萬(wàn)級(jí)淘寶數(shù)據(jù)
網(wǎng)購(gòu)已經(jīng)成為人們生活不可或缺的一部分,本次項(xiàng)目基于淘寶app平臺(tái)數(shù)據(jù),通過(guò)相關(guān)指標(biāo)對(duì)用戶行為進(jìn)行分析,從而探索用戶相關(guān)行為模式。感興趣的可以學(xué)習(xí)一下2022-03-03django配置DJANGO_SETTINGS_MODULE的實(shí)現(xiàn)
本文主要介紹了django配置DJANGO_SETTINGS_MODULE,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03在pycharm中關(guān)掉ipython console/PyDev操作
這篇文章主要介紹了在pycharm中關(guān)掉ipython console/PyDev操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06