Python有趣时刻,这些代码让你大呼"卧槽,怎么会这样"
分享一个实用问题,用python读取Excel并保存字典,如何做?
下面是该同学问题截图和代码
代码截图是下面这样的
不知道大家第一眼看了这个代码,什么感受?我第一眼的感受是密密麻麻一大堆,读都不想读
作为一名python开发者,我觉得,一定要领会python编程的一些思想,就是简洁,拿我来说,在满足基本的业务要求和功能的要求前提下,我能用一行代码解决的事情,一般不会2行去写,也就是我想到一个功能,可能更会直接先去想python中有没有那种一行代码能解决问题的方法,当然该同学的问题也不例外
首先明白这个朋友的需求意思是什么?这里我简单举例一个小demo,Excel最终要输出字典类型数据{name:xx,age:xx,city:xx},将每行都输出成这样的字典
可能没用过python数据分析pandas库的同学自然会去用csv模块csv.writer、xlrd之类的模块去做,不过这里教给大家更简单的方法,2行代码就能解决上述需求
导入pandas包,如果没装的话,pip 进行安装
read_excel:读取Excel
to_dict : 参数为orient = "records",返回样本列表,每个样本是列表里面的每个元素,列名是键
这个方法,我在学数据分析时候也是没有学过的,是后来工作,慢慢接触的多了,之前有次遇到同样的需求,就记到笔记里面了,下面是印象笔记的截图,左侧输入to_dict,右侧就能找到我当时记录的笔记,刚好和这个同学的需求一样,编程学习谁也不能把所有方法记住,而且框架和库更新又快,今天学会了,可能明天你就忘了,所以遇到那种你可能感觉以后要用到而且重要的知识点,一定要记到笔记里面,我们知道有什么样的方法,能解决什么样的问题,就能很快的找到解决问题的最快方式,提高效率,真正做到人生苦短,我用python
当然我笔记中还记录了to_dict方法不加参数时候的结果,直接转成大字典嵌套小字典的形式,这点后面的数据分析系列教程都还会讲,大家对该方法有个印象即可
最后,再给大家分享个python一行代码能解决的实际工作需求问题,这个方法可能很多人也没用过,不过很简单,就是一个方法,是之前做一个算法时候工作遇到的一个实际需求问题
有一个列表,12个数据,随机选出4个数据出来,怎么选择?
我这里直接上图了,直接用ramdom.sample方法,传入列表和个数即可,会返回一个列表,就是需要随机取的
方法都是一点一滴积累的,希望今天的读Excel并保存字典方法和随机取值方法大家能记住,很简洁,又都是工作实际用到的知识点
Python有趣时刻,这些代码让你大呼"卧槽,怎么会这样"的更多相关文章
- VsCode写Python代码!这代码简直和大神一样规范!太漂亮了!
VsCode写Python代码!这代码简直和大神一样规范!太漂亮了! 转 https://www.jianshu.com/p/636306763d89 VsCode虽然没有Pycharm的功能齐 ...
- 人们对Python在企业级开发中的10大误解
From : 人们对Python在企业级开发中的10大误解 在PayPal的编程文化中存在着大量的语言多元化.除了长期流行的C++和Java,越来越多的团队选择JavaScript和Scala,Bra ...
- python 变量之小整数池跟大整数池
在python中定义变量会有:id,type,value.对于==比较的是value,对于is比较的是id. 因此,对于相同value的变量,它的type相同,但是它的id值可能不一样.对于相同id的 ...
- c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询
天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. 不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...
- Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介
Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...
- Python 数据库的Connection、Cursor两大对象
Python 数据库的Connection.Cursor两大对象 pymysql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. Python 数据库图解流程 Con ...
- 【Python challenge】通关代码及攻略(0-11)
前言: 最近找到一个有关python的游戏闯关,这是游戏中的思考及通关攻略 最开始位于:http://www.pythonchallenge.com/pc/def/0.html 第0关 题目分析 提示 ...
- Python之mmap内存映射模块(大文本处理)说明
背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力.关于sed的说明可以看了解sed的工作原理,本文将介绍通过 ...
- 分析和解析PHP代码的7大工具
PHP已成为时下最热门的编程语言之一,然而却有许多PHP程序员苦恼找不到合适的工具来帮助自己分析和解析PHP代码.今天小编就为大家介绍几个非常不错的工具,来帮助程序员们提高自己的工作效率,一起来看看吧 ...
随机推荐
- spring注解实现防盗链拦截
首先配置 applicationContext.xml, 添加 <!-- 启用 @AspectJ --> <aop:aspectj-autoproxy /> 新建Java工具类 ...
- JVM配置参数详解
记录一下jvm中的一些配置参数,这些肯定不全的,希望你们能留个言,补全一下,谢谢啦! -XX: MaxDirectMemorySize--->设置直接内存,不设置与Java堆内存最大值一致 -X ...
- apache 与 php-fpm 几种处理方式
目录 1.SetHandler 2.ProxyPassMatch 3.ProxyPass 1.SetHandler 在apache配置文件只部署一次 需要Apache 2.4.9以上才行 ip:por ...
- IIC_slaver 的仿真之路
IIC_slaver 是网上下载的.testbench文件是自带的,出现如图错误. compile >> compile option >> include direct ...
- 利用htmlparser读取html文档的内容
1.添加相关的的jar htmlparser-2.1.jar 2.方法和代码 public static String readHtml(File html) { String htmlPath = ...
- ArcGIS 按多边形区域统计栅格影像的一些信息
在使用ArcGIS对栅格影像进行分析时,难免要进行一些统计类的分析.如统计框选区域的像素的个数,面积.均值等内容. 下面给出使用“Spatial Analyst Tools -- > Zonal ...
- Js 基本类型和引用类型
一个变量可以存放两种类型的值,基本类型的值(primitive values)和引用类型的值(reference values). ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值. ...
- 2019微软Power BI 每月功能更新系列——2月Power BI 新功能学习
哈喽,小伙伴们,我是小悦悦,好久不见~ 春节假期结束,新一轮的工作开始,祝大家猪年如意,开工大吉! 今天小悦悦带你走入猪年学习的正确打开方式——Power BI新一年的持续更新学习! Power ...
- jQuery-3.事件篇---鼠标事件
jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是点击操作.jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于 ...
- 如何用Caffe训练自己的网络-探索与试验
现在一直都是用Caffe在跑别人写好的网络,如何运行自定义的网络和图片,是接下来要学习的一点. 1. 使用Caffe中自带的网络模型来运行自己的数据集 参考 [1] :http://www.cnblo ...