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代码.今天小编就为大家介绍几个非常不错的工具,来帮助程序员们提高自己的工作效率,一起来看看吧 ...
随机推荐
- PFM 图片格式
PFM 图片格式 参考: https://linux.die.net/man/5/pfm 1. 描述 本文档描述了Netpbm转换器pamtopfm(1)和pfmtopam(1)所理解的PFM图 ...
- tensorFlow(五)深层神经网络
TensorFlow基础见前博客 上实例: MNIST 数据集介绍 MNIST 是一个手写阿拉伯数字的数据集. 其中包含有 60000 个已经标注了的训练集,还有 10000 个用于测试的测试集. 本 ...
- C语言结构体指针初始化(转)
reference: https://www.cnblogs.com/losesea/archive/2012/11/15/2772526.html 今天来讨论一下C中的内存管理. 记得上周在饭桌上和 ...
- Full permutation
Full Permutation 全排列问题, 将1~n这n个整数按字典序排放 划分: 输出1开头的全排列 输出2开头的全排列 ...... 输出n开头的全排列 递归边界:当下标1 ~ n 位都已经填 ...
- java特殊抽象类-接口
- disjoint set
MAKE-SET.x/ creates a new set whose only member (and thus representative) is x. Since the sets are d ...
- windows的docker开始支持linux的镜像 ,Version 18.03.0-ce-win59 (16762)
LCOW containers can now be run next to Windows containers.Use '--platform=linux' in Windows containe ...
- 5.移动终端App测试点归纳
以下所有测试最后必须在真机上完整的执行. 1 安装.卸载测试 1.1 在真机上.第三方软件(xy苹果助手.91.安卓助手)的安装与卸载 1.2 安装在手机卡上 或 SD卡上 (不同的IOS和安卓版本) ...
- 浅入浅出JDBC————1分钟了解JDBC
一.了解基本的几个jdbc需要的类 1.1DriverManager类 DriverManager类是一个jdbc的驱动服务类.通常使用该类获得一个Connection对象,得到一个数据库的链接. 1 ...
- latex之插入向量、图片、编号
1.向量 $\vec a$\qquad $\overleftarrow{AB}$\qquad $\overleftrightarrow{AB}$\qquad $\overrightarrow{AB}$ ...