python 删除空值且合并excel的操作
适用条件
1:excel表比较多
2:excel的数据量比较大,不然的话excel筛选&手动合并还是很舒服滴~
需求
取出【电话】列中不为空所对应的行的值并且将几张表给合并起来
来来来,放代码了!!
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)#了解打印进度 sheet2=pd.read_excel(source_xls[i]).fillna("")#有空格,填充函数,填的空值。要加fillna,不然无法删除空值所对应的行 sysptom = sheet2[sheet2['电话'] !=""]#筛选 sysptoms=pd.concat([sysptoms,sysptom])#两个dataframe合并,相当于合并excel print(type(sysptom)) sysptoms.to_excel(target_xls, index=False)#pandas写入excel用.to_excel print("ok")
补充:python 读取excel数据,遇到空单元格的处理方法
读取excel表格时,经常遇到空单元格的情况,这时需要明确的是,空单元格在python中是什么格式,NULL?NAN还是什么?
在用 xlrd 函数读入excel时,空单元格其实是空字符串'' 形式
因此处理方法就很简单啦,如下:
infilename = r'D:\aajja.xlsx' workbook = xlrd.open_workbook(infilename) df = workbook.sheet_by_name('sheetname') num_rows = df.nrows - 1 # 我这里是第一行不要,所以跳过了 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)
其实重点就一句:
if isinstance(rawVal, str)
判断该单元格数值是否为字符串,当然如果你的excel中本来就有字符串格式数据,这里可以更改为判断是否为空字符串,稍微修改一下即可
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
这篇文章主要介绍了Python中使用PyQt5/PySide2编写一个极简的音乐播放器功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-02-02Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
这篇文章主要介绍了Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法,结合实例形式分析了Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数相关功能、原理与使用技巧,需要的朋友可以参考下2019-12-12Opencv-Python图像透视变换cv2.warpPerspective的示例
今天小编就为大家分享一篇关于Opencv-Python图像透视变换cv2.warpPerspective的示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-04-04django配置DJANGO_SETTINGS_MODULE的实现
本文主要介绍了django配置DJANGO_SETTINGS_MODULE,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03在pycharm中关掉ipython console/PyDev操作
这篇文章主要介绍了在pycharm中关掉ipython console/PyDev操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06
最新评论