背景:

需要读取一个csv文件,并将其数据保存在dictionary中,并按照读文件的顺序输出,且不能引用第三方包,只能使用python自带模块。输出格式如下:

在使用python的dictionary结构时,发现输出顺序跟输入顺序不一样,而场景需要的是输出顺序跟输入顺序一致。

分析:

从python2.7官方文档得知,dictionary是无序存储的,所以并不能保证输出顺序跟输入顺序完全一样。

但是python2.7同时也提供了另一种扩展的存储对象collection.OrderedDict(),可以记录dict的添加顺序,并按照添加顺序输出。

另外,我们也可以在把数据添加到字典时用list来保存添加的key值,然后输出时按照list的key值顺序输出。

下面,就是这两种方式的实现步骤。

实现:

1)通过引用python自带的collection模块,声明collection.OrderedDict()对象,将csv文件每行的第一个字段作为key,其他字段作为value(list格式),顺序添加至字典对象dcitT中,之后按照格式输出。

1 importcollections2

3 defmain():4 f = open('Emissions.csv')5 line =f.readlines()6 #声明对象

7 dictT =collections.OrderedDict()8 for tmp inline:9 tmp = tmp.rstrip("\n")10 dictT[tmp.split(",")[0]] = tmp.split(",")[1:]11 f.close()12 keys =dictT.keys()13 for key inkeys:14 value =dictT[key]15 print key, '-', value

2)仍然声明为无序存储的dict()对象,在添加数据至字典对象dictT中时,并将key值添加至list对象listT,之后输出时去listT的值输出对象的字典value。

1 defmain():2 f = open('Emissions.csv')3 line =f.readlines()4 dictT =dict()5 listT =[]6 for tmp inline:7 tmp = tmp.rstrip("\n").split(",")8 dictT[tmp[0]] = tmp[1:]9 list.append(listT,tmp[0])10 f.close()11 for key inlistT:12 value =dictT[key]13 print key, '-', value

结果:

python 读取文件到字典读取顺序_python_实现dictionary按照输入顺序输出相关推荐

  1. python 读取文件到字典读取顺序_Python用list或dict字段模式读取文件的方法

    前言 Python用于处理文本数据绝对是个利器,极为简单的读取.分割.过滤.转换支持,使得开发者不需要考虑繁杂的流文件处理过程(相对于JAVA来说的,嘻嘻).博主自己工作中,一些复杂的文本数据处理计算 ...

  2. python 读取文件到字典读取顺序_python顺序的读取文件夹下名称有序的文件方法...

    python顺序的读取文件夹下名称有序的文件方法 如下所示: import os path="/home/test/" #待读取的文件夹 path_list=os.listdir( ...

  3. 成功解决pandas读取文件中不读取第一索引列

    成功解决pandas读取文件中不读取第一索引列 目录 解决问题 解决思路 解决方法 解决问题 解决pandas读取文件中不读取第一索引列 解决思路 pandas输出时会默认增加一列索引列 解决方法 添 ...

  4. (c语言数据结构)用顺序队列的方式实现输入12345,输出12345操作——期末数据结构程序设计

    用顺序队列的方式实现输入123456,输出12345操作 文章目录 用顺序队列的方式实现输入123456,输出12345操作 1.队列的定义 2.队列的初始化 3.判空操作 4.入队操作 5. 出队操 ...

  5. python远程文件管理系统_python 读取远程服务器文件

    几个提高工作效率的Python内置小工具 在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有 ...

  6. python各种文件数据的读取

    (持续更新中-) 文章目录 (持续更新中...) 0 常规方法open 0.1 读取时存在中文无法识别 0.2 写入,写入中文 1.读取excel文件 一)python读取: 2.读取csv文件 一) ...

  7. python中文件路径如何读取提示nosuch file_Python 解决相对路径问题:No such file or directory...

    如果你取相对路径不是在主文件里,可能就会有相对路径问题:"No such file or directory". 因为 python 的相对路径,相对的都是主文件. 如下目录结构: ...

  8. Python学习-文件的调用-读取

    1.文件的打开 open('filename'[,mode[,buffering]]) #这个一定要记得关文件.close.() filename,要以路径的形式展示,比如在"c:\&quo ...

  9. python读写文件错误_Python读取csv文件错误解决方法

    如果累了就拥抱我取暖 --侃爷 今天这篇推文很简单,就是给大家总结一下我今天用pandas读取csv文件遇到的坑. 一直处理csv文件都是用pandas的read_csv函数读取csv文件之后处理,都 ...

最新文章

  1. 高校促进“智慧城市”信息化建设策略研究
  2. MySQL 行子查询
  3. PyQt5 技术篇-设置滚动条拉动位置,scrollArea滚动条位置设置方法。
  4. Java里的堆(heap)栈(stack)和方法区(method)
  5. python判断nan格式_关于Python中Inf与Nan的判断问题详解
  6. 短文本合并重复(去重)的简单有效做法
  7. python是什么-什么是Python?最全的python百科
  8. 欧盟 | 地平线 2020 ENSEMBLE:D2.13 SOTIF Safety Concept(上)
  9. Unity学习之生命周期函数
  10. 【ajax】7.请求:请求超时与网络异常处理+取消请求+请求重复发送问题
  11. Introduction to BouncyCastle with Java
  12. 最新HTML微信聊天对话生成器网页源码+实测可用
  13. 零售EDI:家乐福Carrefour EDI需求分析
  14. 基于JavaScript+css写一个简单的h5动态下雨效果
  15. B端页面——详细表格设计流程
  16. w10计算机管理员权限在哪里设置密码,windows10管理员权限怎么设置_win10电脑设置管理员权限的步骤...
  17. Jenkins SonarQube Quality Gate质量门禁检查
  18. 项目 调度 服务器,(2)项目构建(Reactor部分)【Lars-基于C++负载均衡远程服务器调度系统教程】...
  19. 萌新记录自己刷过的题
  20. P4语言的特性、P4语言和P4交换机的工作原理和流程简介

热门文章

  1. 分布式系统的面试题11
  2. ASP.net MVC自定义错误处理页面的方法
  3. MySQL数据库MyISAM存储引擎转为Innodb
  4. 虚拟机WIN7显示主机ubuntu的文件
  5. 还不错的Table样式和form表单样式
  6. 多人开源博客系统再搜集
  7. Iptables架构
  8. 《网管员必读》学习笔记之DNS服务器的安装与配置
  9. word 语音识别的数据丢失
  10. php自动导入,PHP自动导入类