![b3137ae5813e080c0f095b8320f3438e.png](https://i-blog.csdnimg.cn/blog_migrate/19c69015a9b727c03419b28a97416ae3.png)
Python基础知识复习一边是结合教学视频,一边是结合官方Tutorial一起整理。
首先查看当前的使用版本,然后到官网查看指定版本的文档。
![ed7ead2671f5e6afa2bc34cec30fec94.png](https://i-blog.csdnimg.cn/blog_migrate/02f0f73f82a800a82e482f683e4f76c1.png)
因为很久以前使用过Python,对于基础数据类型的增、删、查改和control flow tools部分,跟着视频和教程熟悉一边不做赘述。这里记录一下在模块使用遇到的问题。
- 问题描述
案例中,是使用pandas的excelfile读取给定的.xlsx文件。修改本地文件路径后,顺利读取。
![1cc98815e052c8131df6e9a77b55cd56.png](https://i-blog.csdnimg.cn/blog_migrate/6be44864f9c30e51fdd8c3c808ce93bd.png)
回想起第一关给定的数据,那能否读取.csv格式的文件呢?
![23de03e9fb5f10e992b04d7bcca36bdb.png](https://i-blog.csdnimg.cn/blog_migrate/5ac517cc67542d07aba369275c4d35a2.png)
替换文件路径后,报错Unsupported format。
2. 解决思路
2.1 思考问题原因
首先反思为啥不能读取?CSV是似乎是标准的纯文本格式,也并非excel的特定文件格式。ExcelFile功能似乎只能读取纯Excel格式的文件。那么CSV如何读取呢?
2.2 思考解决办法
不知道就查文档吧!首先看当前的pandas安装版本。
![fc249fdbdca22c93b1f2cac8a98105f1.png](https://i-blog.csdnimg.cn/blog_migrate/7a86aec117c94efa5d1e773696d64ac0.png)
搜索pandas官网对应版本文档。
pandas: powerful Python data analysis toolkitpandas.pydata.org果然在IO操作里面介绍不同文件的读取办法,CSV为read_csv。
![4cabbf0bb2aa582b745227bb2c30b377.png](https://i-blog.csdnimg.cn/blog_migrate/07bdb14b91bfd1a3e4362f245e9b0e46.jpeg)
3.解决问题
![2113faf68cefd01e68cd00a683b1b124.png](https://i-blog.csdnimg.cn/blog_migrate/17bd44dc5a29c4919dc11f01b108e480.jpeg)
顺利输出CSV文件。
4. 更多问题
4.1 文件里面有多行多列,如果我想读取指定列如何实现呢?例如读取'id'列。
是否类似列表组成的矩阵?尝试csv[0],不行报错。
![95da2f2baf01023b8a1f308609aa54a4.png](https://i-blog.csdnimg.cn/blog_migrate/3e57160aec4e6786cb1c302074be9a17.jpeg)
是否类似字典的索引?尝试csv['id']。
![02a4666a19cb38c22fb948a090f20b34.png](https://i-blog.csdnimg.cn/blog_migrate/631c92beef363cf0a85850103ca279e6.jpeg)
成功输出。是否有其他办法呢?查看文档有usecols可以实现过滤功能。
![62b50a89884f2b802707910b27737e28.png](https://i-blog.csdnimg.cn/blog_migrate/9dc198fff2728433ab698a86424967c7.jpeg)
参考输出id和name两列。
![1578bc64fabdbbe9c973433ab56ccfb1.png](https://i-blog.csdnimg.cn/blog_migrate/5b8604e135aa5addf7a119730950bc17.jpeg)
4.2 查看数据中有多少个id
id列看起来重复的内容很多,想查看有多少个不重复的ID,使用集合的去重特性尝试一下。
逻辑为首先创建列表,用循环写入所有id,然后将列表转换为集合查看最终结果。
![8b4425d924299fe0b28cf91865e1c5dd.png](https://i-blog.csdnimg.cn/blog_migrate/9feef94ae72e01409ec15ef4471f6224.jpeg)
尝试成功还是比较开心,虽然还有很多报错和警告不明白,但是记录一下这个自己发现问题解决问题的经过。