Pandas读取csv-程序员宅基地

技术标签: pandas  python  csv  csv文件处理  

对于文件的操作中,读写csv操作是一个比较常见的操作,很多时候可能会选择使用python中的文件读取的方式对csv文件操作,这种方式并没有什么问题,但读写的效率不高,编写的代码量也偏多。

这里介绍使用pandas进行简单的读。写也基本类似。

一、Pandas读取表头:

使用pandas读取表头很简单,一行代码搞定,如下:

    # 读取表头
    head_row = pd.read_csv('123.csv', nrows=0)

这一行代码读取的是一个对象,如果要以列表形式输出,可以增加如下一行代码:


    # 表头列转为 list
    head_row_list = list(head_row)

二、读取具体数据:

以文件读取的方式读取具体数据,需要的代码量比较多,也需要做循环遍历,使用pandas操作如下:

    # 读取
    csv_result = pd.read_csv('123.csv', usecols=head_row_list)
    row_list = csv_result.values.tolist()
    print(f"行读取结果:{row_list}")

上面展示的是打印行读取的结果。使用pandas,还可以很方便的将行转换为列,并打印出行转列的结果,如下代码段:

    col_obj = csv_result.T
    col_list = col_obj.values.tolist()
    print(f"行转列读取结果:{col_list}")
    return head_row_list, col_list

完整的代码如下:

import pandas as pd


def csv_file_read():
    # 读取表头
    head_row = pd.read_csv('123.csv', nrows=0)
    print(list(head_row))
    # 表头列转为 list
    head_row_list = list(head_row)

    # 读取
    csv_result = pd.read_csv('123.csv', usecols=head_row_list)
    row_list = csv_result.values.tolist()
    print(f"行读取结果:{row_list}")
    col_obj = csv_result.T
    col_list = col_obj.values.tolist()
    print(f"行转列读取结果:{col_list}")
    return head_row_list, col_list



if __name__ == '__main__':
    csv_file_read()

是不是很简单,十几行代码即可搞定。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/youzhouliu/article/details/122675700

智能推荐

poi cell转成对应的字符_cell.getnumericcellvalue() 怎么转换为string-程序员宅基地

文章浏览阅读2.2k次。package utils;import org.apache.commons.lang.StringUtils;import org.apache.poi.hssf.usermodel.HSSFDateUtil;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.CellType;im..._cell.getnumericcellvalue() 怎么转换为string

跳转到三方App ,三方App 是如何返回自己的App的_app里插了一个外部的插件,我要怎么跳回自己的app啊?-程序员宅基地

文章浏览阅读1.9k次。我们接入一些三方sdk 微信,京东,淘宝的时候会发现,打开了三方的app后,对方有个返回商家或者返回app 的功能,这个是怎么实现的呢,这里先用微信来说接入微信支付的都知道,集成微信支付时必须在我们的包名下创建wxapi文件夹里面有一个WXPayEntryActivity。启动Activity 的方式大家不陌生,通过intent有显示启动和隐示启动两种微信sdk 要求开发者建立固定的wxapi.WXPayEntryActivity,很明显微信这里用的是显示启动的方式,通过如下代码可以启动对应的a_app里插了一个外部的插件,我要怎么跳回自己的app啊?

(Java毕业设计)图书馆书库管理系统(基于SSM框架)附源码_基于ssm框架java图书管理设计zip文件-程序员宅基地

文章浏览阅读520次。如今生活节奏也是不断加快,越来越多的喜欢看书的人选择通过网上在线租赁图书方式租赁图书,为了更好的方便消费者和图书馆管理人员,结合目前流行的在线经营理念,让每一本图书能够让更多的读者阅读。该系统前端使用JQuery框架对DOM操作,后端代码使用Java语言编写的,高效快速。数据库管理系统使用开源软件MYSQL,节约成本。该网站页面简洁,能够让浏览网站的用户快速查询到自己想要获得的信息,并做出相应的处理。_基于ssm框架java图书管理设计zip文件

intellij idea tomcat 控制台日志乱码_idea +tomcat控制台乱码-程序员宅基地

文章浏览阅读5.7k次。只需要找到idea的然后打开问价增加:-Dfile.encoding=UTF-8 然后重启intellij idea 就行但是这个问题好了之后又出现了一个问题 那就是System.out.println("测试进入");这个在控制台输出的时候会乱码于是在idea 里 打开Tomcat 配置 在VM options 加入 -Dfile.encoding=..._idea +tomcat控制台乱码

hive--map数量过小导致hive运行缓慢_hive在map阶段特别的慢-程序员宅基地

文章浏览阅读2.2k次。map数量过小导致hive运行缓慢查看脚本发现参数_hive在map阶段特别的慢

SpringBoot跳转到静态html页面&&静态文件放置位置_springboot重定向到静态页面-程序员宅基地

文章浏览阅读3.1k次。SpringBoot跳转到静态html页面&&静态文件放置位置一、SpringBoot跳转到静态html页面1、在pom.xml中添加spring-boot-starter-thymeleaf。org.springframework.bootspring-boot-starter-thymeleaf2、在templates下建立a.html文件,新建qiu文件夹,并且在qiu文件夹中创建b.htmla.html内容如下:TitleAAaaAAb.html文件内容如下:T_springboot重定向到静态页面

随便推点

【深度学习框架】keras模型(VGG16,VGG19...)下载过慢问题_vgg16() downloading data-程序员宅基地

文章浏览阅读857次。问题:当你初次运行keras库时,需要下载,如VGG19,提示:Downloading data from https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg19_weights_tf_dim_ordering_tf_kernels_notop.h5并下载缓慢。解决方法:1.在浏览器打开VGG19下载地址2.下载完成后复制到.keras\models(C:\Users\Administrator._vgg16() downloading data

薅羊毛利器——青龙面板+ndjdc搭建脚本运行环境_青龙脚本 nvjdc-程序员宅基地

文章浏览阅读2.8k次。青龙面板+nvjdc青龙面板是一个国人开发的,自持脚本运行的工具。官网是这么描述的:支持python3、javaScript、shell、typescript 的定时任务管理面板。我们这里看中是它可以定时执行javaScript脚本,那么就可以挂载执行薅羊毛脚本nvjdc 是对青龙面板功能的延伸,它的主要功能是帮助我们使用验证码的方式来获取京东App的cookie并管理安装docker我这里是以一台Linux20.04的机器来示例,如果你的机器已经安装了docker,这一步可以跳过只需要一句命_青龙脚本 nvjdc

js 判断2个数组里面的重复项,并且判断一个数组是否包含另一个数组_判断两个数组其中-程序员宅基地

文章浏览阅读2.3k次。判断一个数组里面的每一项的值,是否包含另一个数组里面的每一项。我们只需要先定义一个新的数组来存储着2个数组里面值一样的。var arr1 = [ 1, 2, 3,4,5, 6 ,7];var arr2 = [1, 3 , 5 ];varitemAry = []然后拿 ar1 和 arr2 循环遍历,判断 得到新的数组itemAry最后 varflag =false; 判断 新数组的length 和 arr2数组的length 是否相等,如果相等 就 returnfl..._判断两个数组其中

android P OTA (MTK)初探 —— 2、基于块(Block)的OTA:Target 包的制作流程_target_files-程序员宅基地

文章浏览阅读2.8k次,点赞2次,收藏10次。上文简单介绍了OTA的分类和流程,本文重点分析Target包。一、Target包结构:二、生成命令研究OTA会发现网上介绍比较多的命令是 make otapackage ,编译完成后,在根目录执行这个命令会生成Target包和完整升级包。其实有单独编译Target 包的命令:make target-files-packageandroid默认情况下,最终生成的Target包在此目录下:..._target_files

C语言:switch处理打折问题_c语言用switch冲150享受9折,冲200享受8折,显示卡的余额-程序员宅基地

文章浏览阅读468次,点赞10次,收藏10次。【代码】C语言:switch处理打折问题。_c语言用switch冲150享受9折,冲200享受8折,显示卡的余额

系统移植作业2-程序员宅基地

文章浏览阅读71次。

推荐文章

热门文章

相关标签