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代码.今天小编就为大家介绍几个非常不错的工具,来帮助程序员们提高自己的工作效率,一起来看看吧 ...
随机推荐
- Django的下载与项目的创建
一.Django的下载安装 Django官网下载页面 二.DOS窗口下的django项目从创建和启动 1. DOS窗口下载Django pip3 install django==1.11.9 2.DO ...
- DMSkin for WPF 开源在Github
DMSkin for WPF 开源在Github http://www.dmskin.com/
- day36-多进程多线程一
多进程 概念:进程是程序在计算机上的一次执行活动.当你运行一个程序,你就启动了一个进程.显然,程序是死的(静态的),进程是活的(动态的).进程可以分为系统进程和用户进程.凡是用于完成操作系统的各种功能 ...
- 【阅读笔记】《C程序员 从校园到职场》第六章 常用文件操作函数 (Part 1)
参考链接:https://blog.csdn.net/zhouzhaoxiong1227/article/details/24926023 让你提前认识软件开发(18):C语言中常用的文件操作函数总结 ...
- Centos下软件包管理
目录 一.安装软件包的三种方法 二.rpm包介绍 三.rpm工具用法 四.yum工具用法 五.yum搭建本地仓库 六.yum更换国内源 七.yum下载rpm包 八.源码包安装 九.扩展 一.安装软件包 ...
- GitHub入门与实践 读书笔记二:Git的导入
1.诞生背景 Linux的创始人Linus Torvalds 在2005年开发了Git的原型程序,后随着众多开发者的共同努力,现在他已经被大量的程序员采用. 2.什么是版本管理 版本管理:管理软件在开 ...
- disjoint set
MAKE-SET.x/ creates a new set whose only member (and thus representative) is x. Since the sets are d ...
- 【leetcode】427. Construct Quad Tree
problem 427. Construct Quad Tree 参考 1. Leetcode_427. Construct Quad Tree; 完
- webstrom左侧项目栏不显示文件夹问题
在使用webstrom的时候遇到问题: 打开项目,只显示package.json和webpack.config.js其他文件夹和文件都不显示 解决办法: 1.关闭webstrom当前项目 2.找到项目 ...
- [笔记]_ELVE_正则表达式
本文章转载至简书技匠,简书签约作者,技匠,以上内容欢迎大家分享到朋友圈/微博等. 正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑. ...