领导给了一堆无序杂乱的数据,我写了个Python自动化脚本

开发 后端 自动化
这个问题算是群友答疑。如果说同事或者老板给你一堆这样的数据,你估计会抓狂,该怎么处理呢?仔细观察上面数据可以发现,该数据有如下2个主要特点。

这个问题算是群友答疑。如果说同事或者老板给你一堆这样的数据,你估计会抓狂,该怎么处理呢?

 

领导给了一堆无序杂乱的数据,我写了个Python自动化脚本

仔细观察上面数据可以发现,该数据有如下2个主要特点:

  • 每一行的数据长度不同。第一行和第三行有4个属性,第二行有5个属性。
  • 不同行的属性值,并不是对应排列。

解题思路剖析

你可能会想,直接用Excel分裂。其实并不可行,因为不同行的属性值,并不是对应排列。Excel分列导致的结果就是:不同的属性,存在于相同的行。

 

[[339071]]

放弃Excel那条路之后,我就只能寻求Python的帮助了。我们要根据数据的特点,选择合适的数据存储方法。最终问题就转化为:构造数据源,然后创建DataFrame即可。

然后根据我们这个数据的特点,我选择构造字典组成的列表这样一个数据,并利用它来创建DataFrame。

 

领导给了一堆无序杂乱的数据,我写了个Python自动化脚本

观察我提供的这个案例和待解决的问题,简直异曲同工。我们同样可以将上述数据的每一行,都变成一个个键值对组成的字典。然后最外层用一个大列表,将所有的字典包含起来。

完整代码

1)首先需要构造练习数据

  1. import pandas as pd 
  2. x = {"信息":["年龄:12;性别:女;身高:22;爱好:打球"
  3.              "年龄:12;说明:历史数据;性别:女;身高:22;爱好:打球"
  4.              "生日:2月3日;年龄:12;性别:女;爱好:打球"
  5.     } 
  6. df = pd.DataFrame(x) 
  7. df 

结果如下:

 

领导给了一堆无序杂乱的数据,我写了个Python自动化脚本

2)构造字典组成的列表

  1. tmps_list = [] 
  2. for data in df["信息"].values
  3.     tmp_dict = {} 
  4.     for kv in data.split(";"): 
  5.         k, v = kv.split(":"
  6.         tmp_dict[k] = v 
  7.     tmps_list.append(tmp_dict) 
  8. tmps 

结果如下:

 

领导给了一堆无序杂乱的数据,我写了个Python自动化脚本

3)创建DataFrame

  1. df = pd.DataFrame(tmps) 
  2. df 

结果如下:

 

领导给了一堆无序杂乱的数据,我写了个Python自动化脚本

 

 

责任编辑:未丽燕 来源: 今日头条
相关推荐

2024-05-13 16:29:56

Python自动化

2024-11-13 13:14:38

2024-08-16 21:51:42

2022-02-17 13:03:28

Python脚本代码

2024-06-21 10:46:44

2022-08-05 09:06:07

Python脚本代码

2024-11-11 16:55:54

2021-09-13 10:11:08

Python冰冰自动提醒

2024-08-14 14:42:00

2019-08-14 10:49:20

Python编程语言代码

2024-10-28 19:36:05

2011-11-23 10:01:43

虚拟化软件许可IIS

2022-03-10 10:12:04

自动化脚本Bash

2016-09-22 16:09:36

大数据PB级NoSQL

2022-03-09 09:29:13

人工智能机器学习万引定律

2024-10-29 10:02:12

图片自动化脚本

2016-12-20 16:47:25

Hadoop部署脚本

2021-01-27 07:56:04

Python编程语言

2022-05-07 14:08:42

Python自动化脚本

2021-11-30 07:01:19

Python自动化脚本
点赞
收藏

51CTO技术栈公众号