位置: 编程技术 - 正文

Python用list或dict字段模式读取文件的方法(python list set dict tuple)

编辑:rootadmin

推荐整理分享Python用list或dict字段模式读取文件的方法(python list set dict tuple),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python list dict,python list用法,python list intersection,python中list怎么用,python list dict,python list set dict tuple,python list indices,python list用法,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

Python用于处理文本数据绝对是个利器,极为简单的读取、分割、过滤、转换支持,使得开发者不需要考虑繁杂的流文件处理过程(相对于JAVA来说的,嘻嘻)。博主自己工作中,一些复杂的文本数据处理计算,包括在HADOOP上编写Streaming程序,均是用Python完成。

而在文本处理的过程中,将文件加载内存中是第一步,这就涉及到怎样将文件中的某一列映射到具体的变量的过程,最最愚笨的方法,就是按照字段的下标进行引用,比如这样子:

如果按照这种方式读取,一旦文件有顺序、增减列的变动,代码的维护是个噩梦,这种代码一定要杜绝。

本文推荐两种优雅的方式来读取数据,都是先配置字段模式,然后按照模式读取,而模式则有字典模式和列表模式两种形式;

读取文件,按照分隔符分割成字段数据列表

首先读取文件,按照分隔符分割每一行的数据,返回字段列表,以便后续处理。

代码如下:

使用yield关键字,每次抛出单个行的分割数据,这样在调度程序中可以用for fields in read_file_data(fpath)的方式读取每一行。

映射到模型之方法1:使用配置好的字典模式,装配读取的数据列表

Python用list或dict字段模式读取文件的方法(python list set dict tuple)

这种方法配置一个{“字段名”: 字段位置}的字典作为数据模式,然后按照该模式装配读取的列表数据,最后实现用字典的方式访问数据。

所使用的函数:

有了该方法和之前的方法,可以用以下的方式读取数据:

输出结果:

映射到模型之方法2:使用配置好的列表模式,装配读取的数据列表

如果需要读取文件所有列,或者前面的一些列,那么配置字典模式优点复杂,因为需要给每个字段配置索引位置,并且这些位置是从0开始完后数的,属于低级劳动,需要消灭。

列表模式应命运而生,先将配置好的列表模式转换成字典模式,然后按字典加载就可以实现。

转换模式,以及用按列表模式读取的代码:

使用的时候,可以用列表的形式配置模式,不需要配置索引更加简洁:

运行结果和字典模式的完全一样。

file_util.py全部代码

以下是file_util.py中的全部代码,可以放在自己的公用类库中使用

总结

标签: python list set dict tuple

本文链接地址:https://www.jiuchutong.com/biancheng/381368.html 转载请保留说明!

上一篇:python导入时小括号大作用(python中导入语句)

下一篇:python中执行shell的两种方法总结(python中执行同一函数3次)

  • 统一社会信用代码查询企业名称
  • 生日卡片好看吗
  • 初次购买金税盘一般多少钱
  • 持有待售流动资产如果说以历史成本计量的时候怎么弄
  • 消费卡预付卡能入账吗
  • 个体户一直零申报会不会罚款
  • 团建费用会计怎么写记账凭证
  • 个人所得税申报错误如何更正申报
  • 厂房无偿租赁合同
  • 工程预收款如何处理
  • 仓储业有哪些
  • 房屋出租要交产证吗
  • 待清算直销银行
  • 清包工程增值税税率
  • 金税盘点了没反应
  • 以前年度补交的税款进什么科目?
  • 自然人税收管理系统扣缴客户端app
  • 业绩补偿协议
  • 其他应收款贷方重分类到哪个科目
  • 工资上月计提多了,这个月怎么冲
  • 录制权限怎么打开
  • PHP:class_uses()的用法_spl函数
  • mcappins.exe - mcappins进程是什么文件 什么意思.
  • 无偿调入固定资产账务处理
  • 股东个人房产抵押贷款用于个人法人有责任么
  • 斐讯路由器怎么重置
  • php获取mysql数据
  • php checkbox使用
  • 出口发票的开具时间问题
  • transformerss
  • php call stack
  • ajax可以在静态页面
  • unlinkhist.dat怎么删除
  • js工厂模式创建对象
  • 计提预付账款会计分录
  • 用于应酬用的烟有哪些
  • 企业税收风险因素分析
  • 扶贫款分红怎么做账
  • 0税率可以抵扣进项税吗
  • sqlserver2012无法新建表
  • mysql load local
  • 企业如何在没有税务登记
  • 未支付怎么取消
  • 对公转账个人垫付怎么写
  • 抵货款怎么做账
  • 账上的进项税额比申报多了怎么调账
  • 公司员工住宿费标准
  • 计提工资是否要交税
  • 增值税专用发票和普通发票的区别
  • 材料人工制造费用是什么成本
  • mysql与c++相连
  • xp怎么删除系统
  • xp系统cad32位用哪个版本
  • 电脑没有系统了如何重装系统
  • scair.exe是什么程序
  • windows7能玩地下城吗
  • windows7中个性化设置
  • win10系统运行速度慢
  • 安装windows 8.1
  • 微软内测
  • win7打印无反应
  • win8怎么打开远程连接
  • win7系统怎么查看内存
  • dev c++怎么配置环境
  • [置顶] 关于在vs2013中配置opengl红宝书第八版环境
  • 实例讲解命局与大运流年作用
  • 电脑启动项清理
  • img可以设置的属性
  • python的入门教程
  • 将一个目录复制到另一个目录下
  • javascript的语句
  • javascript教程完整版
  • android studio 开发语言
  • java分布式计算
  • JavaScript基本语法与页面对象的应用
  • android中的webview
  • jQuery EasyUI API 中文帮助文档和扩展实例
  • 申报比对不符怎么回事
  • 税务数字证书怎么下载安装
  • 18个税种已立法数量
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设