python3练习4:从txt或csv文件中读取数据并以字典存储返回_读取dict.txt,以list返回词典_放开那只大熊猫的博客-程序员秘密

技术标签: 软件测试  python+selenium自动化  python3基础  

 1、读取txt文件并返回字典

文件内容如下:

代码如下:

#!/usr/bin/env python
# coding=utf-8
import codecs


def read_txt(path):
    txt_dict = {}
    with codecs.open(path, 'r', 'utf-8') as config:
        for line in config.readlines():
            # 遍历文件中每一行并以“=”分隔,再做列表解析,使用for循环去掉换行符,并以列表形式返回
            result = [ele.strip() for ele in line.split('=', 1)]
            # 先使用dict()将嵌套列表'[result]'转换成字典,再使用update更新字典
            txt_dict.update(dict([result]))
        return txt_dict

运行结果如下:

2、读取csv文件

import csv
#打开文件,用with打开可以不用去特意关闭file了,python3不支持file()打开文件,只能用open()
with open("XXX.csv","r",encoding="utf-8") as csvfile:
     #读取csv文件,返回的是迭代类型
     read = csv.reader(csvfile)
     for i in read:
          print(i)

3、读取csv文件并返回字典:

文件如下:

代码如下: 

#!/usr/bin/env python
# coding=utf-8
import codecs
import csv

with codecs.open('D:/userinfo.csv', 'r', encoding='utf-8') as fp:
    fp_key = csv.reader(fp)
    for csv_key in fp_key:
        print('字典的key值:%s' % csv_key)
        csv_reader = csv.DictReader(fp, fieldnames=csv_key)
        print('DictReader()方法返回值:%s' % csv_reader)
        for row in csv_reader:
            print('--------->>')
            csv_dict = dict(row)
            print(csv_dict)

运行结果如下:

注意:读取csv文件的两个方法reader()和DictReader():
import csv
#csv文件,是一种常用的文本格式,用以存储表格数据,很多程序在处理数据时会遇到csv格式文件

files=open('test.csv','rb')

#方法一:按行读取,返回的是一个迭代对象
'''
reader=csv.reader(files)
for line in reader:
    print(line)
'''
print '***'*10

#方法二:读取结果生成一个dict
Reader=csv.DictReader(files)
for row in Reader:
    #print(row)
    #上一句输出结果:
    #{'url': 'baidu.com', 'xuhao': '1', 'key': '\xe7\x99\xbe\xe5\xba\xa6'}
    #简单的数据处理
    print(row['xuhao'],row['url'])
    
files.close()
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yijinaqingan/article/details/85240279

智能推荐

给你的GUI润润色吧!别再那么Low了!LVGL『风格Style』介绍_lv_state_focused_Wireless_Link的博客-程序员秘密

一. LVGL风格Style介绍样式用于设置对象的外观。lvgl 中的样式受 CSS 启发很大。简而言之,概念如下:样式是一个 lv_style_t 可以保存属性的变量,例如边框宽度,文本颜色等。与 class CSS 类似。 并非必须指定所有属性。未指定的属性将使用默认值。 可以将样式分配给对象以更改其外观。 样式可以被任意数量的对象使用。 样式可以级联,这意味着可以将多个样式分配给一个对象,并且每种样式可以具有不同的属性。例如,style_btn 可能会导致默认的灰色按钮,并且 styl

linux rm -rf 通配符,linux 通配符删除文件和目录rm命令_strustis的博客-程序员秘密

rm(remove)删除文件或目录语 法:rm [-dfirv][--help][--version][文件或目录...]补充说明:执行 rm 指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。参 数:-d 或--directory 直接把欲删除的目录的硬连接数据删成 0,删除该目录。-f 或--force 强制删除文件或目录。-i 或--interactive 删除既...

Win7+Cygwin+Ns2.35 完全安装指南_JRect的博客-程序员秘密

[转载]Win7+Cygwin+Ns2.35  完全安装指南---一步步教你安装N (2014-03-25 14:57:10)转载▼标签: 转载 原文地址: 完全安装指南---一步步教你安装NS2" style="text-decoration:none; color:rgb(145,38,108)">Win7

2021上半年1000道大厂高频面试题汇总(Java岗)_Java斗帝之路的博客-程序员秘密

“金九银十”面试求职高峰期,在金三银四时也参与过不少面试,2021都说工作不好找,也是对开发人员的要求变高。前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档(1000道高频题),同时也整理一些图文解析及笔记,今天在这免费分享给大家,希望大家在即将的十月面试做好复习,长期的积累和短期的突击让自己能找到一个满意的工作!Java成长笔记:1.Java基础复盘2.Web编程初探3.SSM从入门到精通4.SpringB...

前端技术之:JavaScript测试工具_cucumber使用教程_静心悦纳的博客-程序员秘密

Mocha一个用于Node.js与浏览器端的简单、自由、有趣的JavaScript测试框架。https://mochajs.org/https://github.com/mochajs/mochaJest一个令人愉悦的JavaScript测试框架。https://jestjs.io/https://github.com/facebook/jestAva...

Ubuntu下升级安装gcc-7.5.0教程_ubuntu安装高版本gcc_Together_CZ的博客-程序员秘密

最近的工作中需要用到高版本的gcc,系统自带的是5.4.0版本的,这里需要安装的高版本的是7.5.0的,安装过程也是比较坎坷的,也是因为没有搞过这个东西,不熟悉,所以踩了很多坑,耽误了很多时间,不过实践也是学习的一部分,这里还是成功解决掉了这个问题了,下面就不多说废话了,直接进入正题了。 原始版本截图如下所示: 升级后版本截图如下所示: 所需依赖资源包详情如下:升级本地gcc版本所需安装包详情如下:gcc-7.5.0.tar.gzgmp-6....

随便推点

UVa-11988 悲剧文本_uva 11988_战场小包的博客-程序员秘密

分析:这个题的题意还是很好理解的,就是如果'['便返回开头,']'便到尾部之后再继续输出。惯性思维,这个题用数组存储,之后移动数组元素,这样做的效率是非常低的,数据太大会超时。如果想插入元素的速度快,链表,插入是O(1)(想到这里,我就中陷阱了,错误的以为,vector等同于链表,其实不尽然,vector仍然是一块连续的空间,插入的效率和C语言里的数组类似,所以,我便跪了数

知道这两个商业模式的人,都实现了财务自由_活力曲线是什么分布_猴子数据分析的博客-程序员秘密

​为什么你每天上班很努力,却劳碌一生也无法实现财务自由?为什么同样毕业于一个学校的人,过几年却可以赚的盆满钵满?我们常听到的一句话:选择比努力更重要。那么问题就来了,很多人其实并不知道自己面临的选择是什么,所以导致根本无从选择。今天我们来聊聊,你其实有2种个人商业模式来选,知道这两个商业模式的人最后都走向了

文件操作_weixin_34293246的博客-程序员秘密

文件操作初始文件操作使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了根据打开方式的不同能够执行的操作会有相应的差异.打开文件的方式:  r,w,a  r+,w+,a+  rb,wb,ab  r+b,w+b,a+b默认使用的是r(只读模式)只读操作(r/r...

白杨SEO:SEO转型难吗?SEO如何转型ASO(应用商店搜索优化)?_白杨SEO营销的博客-程序员秘密

前言: 这是白杨SEO公众号原创第 261 篇。现在还是五一,在四川老家,还是要保持每周至少一篇原创,继续完善SEO转型系列,今天就来写写转型ASO这个~先以白杨SEO自己来举例,最早有这个意识2012年11月在杭州有个移动互联网交流会,真正想去了解是在2014年加入杭州西子商盟,那时也正是APP最火热的时候。直到2017年5月开始做APP产品运营,以及2020年中间又做了一段时间APP推广,这条完整的线路才完全走通。如果你要说,白杨,你现在可以去做APP优化了吗,我可以肯定告诉你,当然可以,继续往下看

Linux C程序内存泄露检测_xiaobasil的博客-程序员秘密

对于程序员来说,最痛苦的就是内存的申请与释放。内存泄露也是程序中经常遇到的问题。为了更好的定位内存泄露问题,我们有必要熟悉一些内存泄露的检测工具。今天主要找到了以下四个内存检测工具,使用起来都比较方便。valgrind安装valgrind,执行下列程序#include <stdlib.h>void func(){ int *p = malloc(10*sizeof(int)); p

疯狂Java笔记:3.7 运算符_WERBBGERTWR的博客-程序员秘密

算术运算符赋值运算符比较运算符逻辑运算符位运算符类型相关运算符

推荐文章

热门文章

相关标签