领导给了一堆无序杂乱的数据,我写了个Python自动化脚本
这个问题算是群友答疑。如果说同事或者老板给你一堆这样的数据,你估计会抓狂,该怎么处理呢?
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771

仔细观察上面数据可以发现,该数据有如下2个主要特点:
- 每一行的数据长度不同。第一行和第三行有4个属性,第二行有5个属性。
 - 不同行的属性值,并不是对应排列。
 
解题思路剖析
你可能会想,直接用Excel分裂。其实并不可行,因为不同行的属性值,并不是对应排列。Excel分列导致的结果就是:不同的属性,存在于相同的行。

放弃Excel那条路之后,我就只能寻求Python的帮助了。我们要根据数据的特点,选择合适的数据存储方法。最终问题就转化为:构造数据源,然后创建DataFrame即可。
然后根据我们这个数据的特点,我选择构造字典组成的列表这样一个数据,并利用它来创建DataFrame。

观察我提供的这个案例和待解决的问题,简直异曲同工。我们同样可以将上述数据的每一行,都变成一个个键值对组成的字典。然后最外层用一个大列表,将所有的字典包含起来。
完整代码
1)首先需要构造练习数据
import pandas as pd
x = {"信息":["年龄:12;性别:女;身高:22;爱好:打球",
"年龄:12;说明:历史数据;性别:女;身高:22;爱好:打球",
"生日:2月3日;年龄:12;性别:女;爱好:打球"]
}
df = pd.DataFrame(x)
df
结果如下:

2)构造字典组成的列表
tmps_list = []
for data in df["信息"].values:
tmp_dict = {}
for kv in data.split(";"):
k, v = kv.split(":")
tmp_dict[k] = v
tmps_list.append(tmp_dict)
tmps
结果如下:

3)创建DataFrame
df = pd.DataFrame(tmps)
df
结果如下:

领导给了一堆无序杂乱的数据,我写了个Python自动化脚本的更多相关文章
- Selenium2+python自动化21-TXT数据参数化
		
前言 在17篇我们讲了excel数据的参数化,有人问了txt数据的参数化该怎么办呢,下面小编为你带你txt数据参数化的讲解 一.以百度搜索为例,自动搜索五次不同的关键字.输入的数据不同从而引 ...
 - 一种数据与逻辑分离的Python单元测试工具
		
一种数据与逻辑分离的Python单元测试工具 几个概念 TestCase TestCase是一个完整的测试单元,最小的测试执行实体,就是我们常说的测试用例. TestSuite 以某种特性将测试用例组 ...
 - 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)
		
Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...
 - 数据科学实战手册(R+Python)书中引用资料网址
		
本文会持续将<数据科学实战手册(R+Python)>一书中的附带参考资料网址手打出来, 方便访问. 由于书中的参考资料网址太多, 这个文档将可能花费一段时间才能完成. 第一章 P7 Rs ...
 - Selenium2+python自动化21-TXT数据参数化【转载】
		
前言 在17篇我们讲了excel数据的参数化,有人问了txt数据的参数化该怎么办呢,下面小编为你带你txt数据参数化的讲解 一.以百度搜索为例,自动搜索五次不同的关键字.输入的数据不同从而引 ...
 - Selenium2+python自动化20-Excel数据参数化【转载】
		
前言 问: Python 获取到Excel一列值后怎么用selenium录制的脚本中参数化,比如对登录用户名和密码如何做参数化? 答:可以使用xlrd读取Excel的内容进行参数化.当然为了便于各位小 ...
 - Jmeter 接口自动化-脚本数据分离实例
		
一. 背景: 为了让大家更加的了解Jmeter,并且使用起来游刃有余.这篇我们主要讲一下,如何优雅的使用Jmeter一步步的实现接口自动化,完成脚本与数据分离,把可能对Jmeter脚本的维护转移到c ...
 - c# .net获取文件夹下的所有文件(多层递归),并获取区间数据(Jsion,xml等数据)写出到处理文件,学习分享~
		
static void Main(string[] args) { string path = string.Format(@"C:\Users\Administrator\D ...
 - 数据泵如何生成导出文件的DDL脚本
		
在使用exp/imp时,生成对应dumpfile文件的DDL脚本非常容易,在使用命令imp时,添加参数show, show=y表示展示imp导入的时候,输出相关DDL语句(不包括insert语句),而 ...
 
随机推荐
- log4j2 自动删除过期日志文件配置及实现原理解析
			
日志文件自动删除功能必不可少,当然你可以让运维去做这事,只是这不地道.而日志组件是一个必备组件,让其多做一件删除的工作,无可厚非.本文就来探讨下 log4j 的日志文件自动删除实现吧. 0. 自动删除 ...
 - 使用opencv在Qt控件上播放mp4文件
			
文章目录 简介 核心代码 运行结果 简介 opencv是一个开源计算机视觉库,功能非常多,这里简单介绍一下OpenCV解码播放Mp4文件,并将图像显示到Qt的QLabel上面. 核心代码 头文件 #i ...
 - intellij idea springboot无法读取配置文件的解决方法
			
问题描述 Spring Boot项目中运行之后,出现如下的错误: *************************** APPLICATION FAILED TO START *********** ...
 - 安卓APP开发的初步了解
			
今天成功安装了Android Studio 并且对APP的开发框架结构进行了初步了解 如上图:app基本结构情况 下面来仔细解释一下各个方面目录的作用 首先 manifests目录:包含Android ...
 - 铁大树洞APP视频讲解和原型演示
			
首先放上我们团队视频讲解演示的视频:https://v.youku.com/v_show/id_XNDYyMzA3MTgzNg==.html 团队名称:超能陆战队 团队成员:刘梦鑫(队长) 段行行 徐 ...
 - Python | 常见的反爬及解决方法,值得收藏
			
我们都知道Python用来爬数据,为了不让自家的数据被别人随意的爬走,你知道怎么反爬吗?今天播妞带着大家一起见识见识常见的反爬技术. 很多人学习python,不知道从何学起.很多人学习python,掌 ...
 - 拓展欧几里得求 ax + by = c的通解(a >=0, b >= 0)
			
#include <iostream> #include <cstdio> #include <algorithm> #include <vector> ...
 - SwaggerUI看烦了,IGeekFan.AspNetCore.Knife4jUI 帮你换个新皮肤
			
背景 好像是上周四,看到微信群有人说java有轮子swagger-bootstrap-ui,而c#,就是找不到. 于是我一看,就说大话:"这个只是一套UI,他这个有开源地址么" 被 ...
 - Java 开发者的编程噩梦,为什么你的代码总有 bug🐛?
			
文章已经收录在 Github.com/niumoo/JavaNotes ,更有 Java 程序员所需要掌握的核心知识,欢迎Star和指教. 欢迎关注我的公众号,文章每周更新. 很多 Java 初学者在 ...
 - AMD 5700 XT显卡装ubuntu18.04.* 驱动的问题解决(全)
			
公司开发需要测试新的 AMD显卡,由于测试服务器上的显卡是英伟达的显卡所以换完后要安装相应的驱动.由于之前装机的同事装的ubuntu是18.04.5 恰巧18.04.5在amd官网上没有相匹配的驱动( ...