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代码.今天小编就为大家介绍几个非常不错的工具,来帮助程序员们提高自己的工作效率,一起来看看吧 ...
随机推荐
- Android 音视频深入 十五 FFmpeg 推流mp4文件(附源码下载)
源码地址https://github.com/979451341/Rtmp 1.配置RTMP服务器 这个我不多说贴两个博客分别是在mac和windows环境上的,大家跟着弄 MAC搭建RTMP服务器h ...
- 第一节课:java介绍以及java开发环境的安装
互联网时代 什么是软件 什么是硬件 什么是操作系统 java是什么? 计算机高级程序语言 java能做什么? 开发软件(网站.app.游戏.应用系统.嵌入式) java对应的职位链(需求->产品 ...
- 关于数据安全RSA,MD5,TOKEN
网络上明文传输时 1.数据可能被窃取:2.数据可能被篡改:3.数据被泄露 如何解决: 1.数据被窃取是由于数据能随意的被拿到,且能够被识别.可以有2个方式解决 a.使数据不能随意被获取: 使用toke ...
- python,接口自动化有几大类
python自动化: 1.接口测试 2.python 3.接口自动化框架 4.前端 html js css 5.web端的自动化 6.移动端 ios.Android 7.面试.简历 接口自动化(要会写 ...
- 第一章:深入web请求过程
初学者,总结一下读书笔记,望海涵. 1.1 B/S网络架构概述 相比于C/S架构,B/S网络架构(Browser/Server)从前端到后端都得到了简化,都基于统一的应用层协议HTTP来交互数据,采用 ...
- 无法对含有多个.java(或.class)文档的程序进行编译(或解释)
通常初学者会出现这样的问题:无法对含有多个.java(或.class)文档的程序进行编译(或解释). root@yogile-VirtualBox:/alive/string# javac work/ ...
- TOJ-5395 大于中值的边界元素
描述 给定一个二维数组,求二维数组的边界元素中,大于二维数组“中值”的元素个数.这里的“中值”定义为一个元素序列中: (1)当元素个数为奇数时,即为中间大的元素: (2)当元素个数为偶数时,为中间大的 ...
- hadoop day 5
1.Zookeeper Zookeeper的安装和配置(集群模式) 1)在conf目录下创建一个配置文件zoo.cfg, tickTime=2000——心跳检测的时间间隔(ms) dataDir=/U ...
- switch和数组两种方法对不同输入做不同响应
#include<stdio.h> int main(void) { int i; scanf("%d",&i); switch(i) { : printf(& ...
- VSCode 常用的快捷键
R键:点击后热加载,直接查看预览结果 P键: 在虚拟机中显示网格,常用 O 键:切换iOS 和Android Q键 :退出调试 ctr +~ 打开 终端