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中本来就有字符串格式数据,这里可以更改为判断是否为空字符串,稍微修改一下即可

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • Python实现删除某列中含有空值的行的示例代码

    客户需求 查看销售人员不为空值的行 数据存储情况如图: 代码实现 import pandas as pd data = pd.read_excel('test.xlsx',sheet_name='Sheet1') datanota = data[data['销售人员'].notna()] print(datanota) 输出结果 D:\Python\Anaconda\python.exe D:/Python/test/EASdeal/test.py 城市 销售金额 销售人员 0 北京 10000

  • 使用python将多个excel文件合并到同一个文件的方法

    应用场景:使用pandas把多个相同结构的Excel文件合并为一个. 原始数据: 相关代码: import os import pandas as pd # 将文件读取出来放一个列表里面 pwd = 'test' # 获取文件目录 # 新建列表,存放文件名 file_list = [] # 新建列表存放每个文件数据(依次读取多个相同结构的Excel文件并创建DataFrame) dfs = [] for root,dirs,files in os.walk(pwd): # 第一个为起始路径,第二

  • python高手之路python处理excel文件(方法汇总)

    用python来自动生成excel数据文件.python处理excel文件主要是第三方模块库xlrd.xlwt.xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块. 方法一: 小罗问我怎么从excel中读取数据,然后我百了一番,做下记录 excel数据图(小罗说数据要给客户保密,我随手写了几行数据): python读取excel文件代码: #!/usr/bin/env python # -*- coding: utf-

  • Python pandas实现excel工作表合并功能详解

    import os,pandas as pd,re #1.获取文件夹下要合并的文件名 dirpath = '文件夹地址' #工作表3特殊处理 需要开始下标和结束下标 begin = 231 end = 238 excel_names = os.listdir(dirpath) #2.获取文件内容 sheet_1_merge = [] sheet_2_merge = [] sheet_3_merge = pd.DataFrame([0,0,0,0,0,0,0]) for excel_name in

  • python excel多行合并的方法

    一.概述 现有一个wenda1.xlsx文件,内容如下: 需要将faq记录合并为一行,效果如下: 注意:faq记录,每一行用||来拼接. 二.多行转换一行 新建test1.py,内容如下: # !/usr/bin/python3 # -*- coding: utf-8 -*- import xlrd # 打开excel文件,创建一个workbook对象 rbook = xlrd.open_workbook('wenda1.xlsx') # sheets方法返回对象列表,[<xlrd.sheet.

  • 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

  • python 删除excel表格重复行,数据预处理操作

    使用python删除excel表格重复行. # 导入pandas包并重命名为pd import pandas as pd # 读取Excel中Sheet1中的数据 data = pd.DataFrame(pd.read_excel('test.xls', 'Sheet1')) # 查看读取数据内容 print(data) # 查看是否有重复行 re_row = data.duplicated() print(re_row) # 查看去除重复行的数据 no_re_row = data.drop_d

  • Python实现合并excel表格的方法分析

    本文实例讲述了Python实现合并excel表格的方法.分享给大家供大家参考,具体如下: 需求 将一个文件夹中的excel表格合并成我们想要的形式,主要要pandas中的concat()函数 思路 用os库将所需要处理的表格放到同一个列表中,然后遍历列表,依次把所有文件纵向连接起来. 最开始的第一种思路是先拿一个文件出来,然后让这个文件依次去和列表中的剩余文件合并: 第二种是用文件夹中第一个文件和剩余的文件合并,使用range(1,len(file)),可以省去单独取第一个文件的步骤. 遇到的问

  • Python实现爬虫抓取与读写、追加到excel文件操作示例

    本文实例讲述了Python实现爬虫抓取与读写.追加到excel文件操作.分享给大家供大家参考,具体如下: 爬取糗事百科热门 安装 读写excel 依赖 pip install xlwt 安装 追加excel文件内容 依赖 pip install xlutils 安装 lxml Python示例: import csv import requests from lxml import etree import time import xlwt import os from xlutils.copy

  • python使用openpyxl库读写Excel表格的方法(增删改查操作)

    一.前言 嗨,大家好,我是新发. 最近需要做个小工具,可以通过python来读写Excel,实现增删改查操作.以前用的是xlrd和xlwt这两个python库,今天我要讲的是openpyxl库,我觉得openpyxl比xlrd和xlwt更强大更好用,话不多说,开始吧. 二.安装openpyxl 可以直接通过命令行安装 pip install openpyxl 如果你是内网环境,则可以先在外网下载openpyxl库然后转到内网再安装. openpyxl下载地址:https://pypi.org/p

  • Python如何利用xlrd和xlwt模块操作Excel表格

    目录 简介: 安装: 初始数据: xlrd使用: xlwt使用: xlwt使用示例2: 总结 简介: xlrd和xlwt是python的第三方库,xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装: pip install xlrd pip install xlwt 初始数据: excelLearn.xls 个人信息表: 姓名 年龄 地址 Tom 26 CN Jo 27 UK Lily 28 US Kim 29 JP 班级成绩表: 考试日期 班级 分数 20

  • Python数据分析之 Pandas Dataframe合并和去重操作

    目录 一.之 Pandas Dataframe合并 二.去重操作 一.之 Pandas Dataframe合并 在数据分析中,避免不了要从多个数据集中取数据,那就避免不了要进行数据的合并,这篇文章就来介绍一下 Dataframe 对象的合并操作. Pandas 提供了merge()方法来进行合并操作,使用语法如下: pd.merge(left, right, how="inner", on=None, left_on=None, right_on=None, left_index=Fa

  • 14个用Python实现的Excel常用操作总结

    目录 前言 一.关联公式:Vlookup 二.数据透视表 三.对比两列差异 四.去除重复值 五.缺失值处理 六.多条件筛选 七. 模糊筛选数据 八.分类汇总 九.条件计算 十.删除数据间的空格 十一.数据分列 十二.异常值替换 十三.分组 十四.根据业务逻辑定义标签 前言 自从学了Python后就逼迫自己不用Excel,所有操作用Python实现.目的是巩固Python,与增强数据处理能力. 这也是我写这篇文章的初衷.废话不说了,直接进入正题. 数据是网上找到的销售数据,长这样: 一.关联公式:

  • python删除过期log文件操作实例解析

    本文研究的主要是python删除过期log文件的相关内容,具体介绍如下. 1. 用Python遍历目录 os.walk方法可以很方便的得到目录下的所有文件,会返回一个三元的tupple(dirpath, dirnames, filenames),其中,dirpath是代表目录的路径,dirnames是一个list,包含了dirpath下的所有子目录的名字,filenames是一个list,包含了非目录的文件,如果需要得到全路径,需要使用os.path.join(dirpath,name).例如t

  • Python实现爬取亚马逊数据并打印出Excel文件操作示例

    本文实例讲述了Python实现爬取亚马逊数据并打印出Excel文件操作.分享给大家供大家参考,具体如下: python大神们别喷,代码写的很粗糙,主要是完成功能,能够借鉴就看下吧,我是学java的,毕竟不是学python的,自己自学看了一点点python,望谅解. #!/usr/bin/env python3 # encoding=UTF-8 import sys import re import urllib.request import json import time import zli

随机推荐