发现问题

文本文件: test_file.txt

id,电影名称,上映时间
001,《红海行动》,2018-02-16
002,《厉害了,我的国》,2018-03-02
003;《闺蜜2》;2018-03-02
004,《捉妖记2》,2018-02-16
005,《西游记女儿国》,2018-02-16

我们使用pd.read_csv读取文件的时候,默认分隔符为半角逗号,当然,我们也可以使用sep指定分隔符。
笔者在一次使用python处理数据时,遇到了不同分隔符的情况,大部分数据使用半角逗号作为分隔符,有几条数据使用半角分号作为分隔符,转换成dataframe之后,使用半角分号作为分隔符的数据就缩至一列,其他列为空。

处理思路

通过观察数据,我们发现大部分数据使用的是半角逗号作为分隔符,只有一条数据使用半角分号作为分隔符,使用pd.read_csv读取之后,该条数据堆在了第一列。

我们可以先使用半角逗号分隔符读取大部分数据,然后通过循环,单独对每一条数据进行判断,找到不是以半角逗号作为分隔符的“异常数据”,使用半角分号对该数据进行切分,然后再使用pd.Series方法,设置index=data.columns,存入到原先的数据行。

文件&代码

Python程序文件: test.py

# encoding: utf-8
import pandas as pd
data = pd.read_csv('test_file.txt', sep=',')
for i in range(len(data)):if len(data.iloc[i, 0]) > 3:  # 通过判断字长,得到异常数据# 通过半角分号切分数据,并设置列索引,将数据存入原行data.iloc[i] = pd.Series(data.iloc[i, 0].split(';'), index=data.columns)
print data

运行结果

    id       电影名称        上映时间
0  001     《红海行动》  2018-02-16
1  002  《厉害了,我的国》  2018-03-02
2  003      《闺蜜2》  2018-03-02
3  004     《捉妖记2》  2018-02-16
4  005   《西游记女儿国》  2018-02-16

Python数据清洗之Dataframe中不同分隔符数据的清洗相关推荐

  1. python pandas 分割DataFrame中的字符串及元组

    python pandas 分割DataFrame中的字符串类型数据的方法 文章目录 1.使用str.split()方法 2.使用join()与split()方法结合 3. 使用apply方法分割元组 ...

  2. R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象、使用列名称(column name)访问dataframe中的指定数据列的数据

    R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象.使用列名称(column name)访问dataframe中的指定数据列的数据 目录 R语言使用多个数据类型不同的向量数据创建一 ...

  3. 【Python数据分析】利用Python替换EXCEL表格中指定的数据

    如何利用Python替换EXCEL表格中指定的数据?今天与大家一起分享一下DataFrame对象的replace()函数,replace()函数可EXCEl中的数据内容,其语法格式如下: 表达式.re ...

  4. pandas使用方括号[]或者loc函数、基于列名称或者列名称列表索引dataframe中的单个数据列或者多个数据列(accessing columns of a dataframe)

    pandas使用方括号[]或者loc函数.基于列名称或者列名称列表索引dataframe中的单个数据列或者多个数据列(accessing columns of a dataframe using co ...

  5. pandas使用iteritems函数迭代地查看dataframe中的每个数据列(iterate over each column of a dataframe)

    pandas使用iteritems函数迭代地查看dataframe中的每个数据列(iterate over each column of a dataframe) 目录 pandas使用iterite ...

  6. pandas使用query函数删除dataframe中两个数据列加和小于某一特定值的数据行(removing rows based on multiple dataframe column value

    pandas使用query函数删除dataframe中两个数据列加和小于某一特定值的数据行(removing rows based on multiple dataframe column value ...

  7. pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list)

    pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list) 目录 pandas将datafra ...

  8. pandas使用query函数和sample函数、使用query函数筛选dataframe中的特定数据行并使用sample函数获取指定个数的随机抽样数据

    pandas使用query函数和sample函数.使用query函数筛选dataframe中的特定数据行并使用sample函数获取指定个数的随机抽样数据(query dataframe and ran ...

  9. pandas使用query函数查询dataframe中某一个数据列在指定数据范围的数据行(rows where value is between two values in dataframe)

    pandas使用query函数查询dataframe中某一个数据列在指定数据范围的数据行(rows where value is between two values in dataframe) 目录

最新文章

  1. WordPress导出全静态化网站
  2. 两个数从大到小排列输出
  3. Linux 文件系统与设备文件系统 (一)—— udev 设备文件系统
  4. 【转】刨根究底字符编码之十五——UTF-32编码方式
  5. 求奇数和的c语言程序,C语言程序求1—100之间的奇数和和偶数和
  6. 微信小程序支付-付款(Java后台)
  7. codekit for mac(开发人员必备编译工具)
  8. 德卡Z90读卡器读取社保卡,德卡Z90读卡器CSharp示例程序源码
  9. 手工笔筒制作教程(附彩色贴图分享)
  10. 基于python的毕业设计仓库库存管理系统
  11. 机器学习知识总结 —— 8. 什么是有监督学习、无监督学习、半监督学习
  12. 线性回归方程b保留几位小数_简单线性回归分析(python)
  13. MonoJSG:联合语义和几何代价函数的单目3D目标检测(CVPR2022)
  14. 聊聊flink TaskManager的managed memory
  15. cosmos官方nameservice测试项目详解(代码注释+官方文档错误纠正)
  16. 安卓手机用ADB命令打印APP的崩溃日志
  17. 一篇文章让你掌握HTML+CSS
  18. 电脑桌面宠物java,java 桌面动态宠物
  19. BloomFilter布隆过滤器
  20. 人听到坏消息的反应_如何应对坏消息,正确传达坏消息的七个方法

热门文章

  1. Linux CentOS中按tab键不能自动补全解决办法
  2. 2021.5.12兴业数金笔试知识点整理
  3. 傀儡娃娃作者 李欢:插画艺术IP的商业化之路 | 点评家
  4. 谷歌Google authenticator 整合到JAVA项目
  5. BugKu——字符?正则?小记
  6. 手机联系人头像包_拉杆箱早过时了,出差浙江才发现“差旅包”正火,方便又有面儿...
  7. 史上最简单的抖音吸粉方法
  8. 网上炒作的哪些日赚千元不是梦的手机赚钱项目是真的吗
  9. 05_Pandas删除,替换并提取其中的缺失值NaN(dropna,fillna,isnull)
  10. 加拿大约克大学计算机科学研究生如何申请,2020年加拿大约克大学研究生申请条件是什么?...