python 删除空值且合并excel的操作

 更新时间:2021年03月06日 12:53:37   作者:不合格学霸  
这篇文章主要介绍了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利用hashlib实现文件MD5码的批量存储

    Python利用hashlib实现文件MD5码的批量存储

    这篇文章主要为大家详细介绍了如何用Python和hashlib实现文件MD5码的批量存储功能,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下
    2023-05-05
  • 使用Django搭建web服务器的例子(最最正确的方式)

    使用Django搭建web服务器的例子(最最正确的方式)

    今天小编就为大家分享一篇使用Django搭建web服务器的例子(最最正确的方式),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python简单获取自身外网IP的方法

    Python简单获取自身外网IP的方法

    这篇文章主要介绍了Python简单获取自身外网IP的方法,涉及Python基于第三方平台获取本机外网IP的操作技巧,需要的朋友可以参考下
    2016-09-09
  • shelve  用来持久化任意的Python对象实例代码

    shelve 用来持久化任意的Python对象实例代码

    这篇文章主要介绍了shelve 用来持久化任意的Python对象实例代码的相关资料,需要的朋友可以参考下
    2016-10-10
  • python map比for循环快在哪

    python map比for循环快在哪

    这篇文章主要介绍了python 为什么map比for循环快,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-09-09
  • Matplotlib animation模块实现动态图

    Matplotlib animation模块实现动态图

    这篇文章主要介绍了Matplotlib animation模块实现动态图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 实例讲解Python中函数的调用与定义

    实例讲解Python中函数的调用与定义

    这篇文章主要介绍了Python中函数的调用与定义,是Python入门学习中的基础知识,需要的朋友可以参考下
    2016-03-03
  • Python 十个字典用法使用技巧归纳

    Python 十个字典用法使用技巧归纳

    今天小编帮大家简单介绍下Python的一种数据结构: 字典,字典是一种可变容器模型,且可存储任意类型对象,它用于存放具有映射关系的数据,这里介绍归纳十个字典的用法技巧,需要的朋友可以参考下
    2022-01-01
  • Python实现用手机监控远程控制电脑的方法

    Python实现用手机监控远程控制电脑的方法

    这篇文章主要介绍了Python实现用手机监控远程控制电脑的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 基于Python实现千图成像工具的示例代码

    基于Python实现千图成像工具的示例代码

    千图成像也就是用N张图片组成一张图片的效果。这篇文章将利用Python语言编写一个简单的千图成像工具,感兴趣的小伙伴可以了解一下
    2022-07-07

最新评论