python中怎么读取文件到字典
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这期内容当中小编将会给大家带来有关python中怎么读取文件到字典,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。学python最重要的是练习,学了不练假把式。每天找
千家信息网最后更新 2024年11月17日python中怎么读取文件到字典
这期内容当中小编将会给大家带来有关python中怎么读取文件到字典,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
学python最重要的是练习,学了不练假把式。每天找点有意思的练习题做做,强化python技能很有裨益。
需求:现有list.txt文件存放了商品销售数据,需要读取该文件到字典列表。
文件内容:
商品,单价,数量
苹果,4.8,5
雪梨,2.9,10
大枣,5.8,6
预期结果是:
[{'商品': '苹果', '单价': '4.8', '数量': '5'},
{'商品': '雪梨', '单价': '2.9', '数量': '10'},
{'商品': '大枣', '单价': '5.8', '数量': '6'}]
先做分析:文件是文本文件,uf8编码,用open默认r模式打开即可。第一行内容判断为字典的key,后面的行是value。
with open('a.txt', encoding='utf8') as f: name = f.readline().strip().split(',') # 读取文件第一行转成list,作为字典的key fruit_list = [] for line in f: # 用for循环遍历句柄f,优点是无论文件有多大,读取都不会撑爆内存。 # 不要用read()或readlines(),万一处理的文件超大会导致撑爆内存。 if len(line) < 3: # 过滤空行及数据不完整的行。 continue line = line.strip().split(',') # 将文件内容按','分隔转成列表 fruit_dict = {} # 声明一空字典,保存每一行的内容 for i in range(len(name)): # 通过下标遍历name列表 fruit_dict[name[i]] = line[i] fruit_list.append(fruit_dict) print(fruit_list)
写完感觉不完美,最好是封装成函数,利于代码复用。
最终版本是:
def file_to_list(file): ''' @param file: 参数是文件名,文件格式是以','分隔的txt文件。 @return: 返回一个列表,列表元素是字典,内容源自file文件。 ''' with open(file, encoding='utf8') as f: name = f.readline().strip().split(',') # 读取文件第一行作为字典的key fruit_list = [] for line in f: if len(line) < 3: # 过滤空行及数据不完整的行。 continue line = line.split(',') fruit_dict = {} for i in range(len(name)): # 遍历name列表,将每行对应内容做成字典 fruit_dict[name[i]] = line[i].strip() fruit_list.append(fruit_dict) return fruit_list
至此,读取文件到字典练习完毕。
总结:
一是在开始学python时就要养成好习惯,将功能模块化,提高代码复用率和可读性。
二是定义方法要写文档注释,方法参数和返回值要解释清楚。
三是代码注释不用每行都写,重点是讲清楚代码逻辑。
上述就是小编为大家分享的python中怎么读取文件到字典了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
文件
字典
内容
商品
一行
代码
单价
数量
数据
分析
内存
参数
大枣
方法
注释
空行
苹果
雪梨
复用
清楚
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全定义简答
软件开发计划豆丁
数据库不用id自增长
资料有软件开发公司为了
网络安全协议浅谈论文
三级网络技术改革了吗
软件开发费单位开什么
软件开发 离职 同事
卫生院网络安全安应急预案
东岭集团软件开发
网络安全 薄弱环节
win10可以装文件服务器吗
环形网络与星状网络技术
2ksports服务器在哪
信息网络安全许可
能做服务器的盒子
高质量的文章数据库
搜索引擎用什么数据库
莱阳游戏软件开发解决方案
软件开发技术方案怎么写范文
网络安全之数据安全T级
服务器上的文件夹怎么找回
网络安全事件是指
数据库还原需要什么权限的账户
数据库怎么处理过期机制
齐齐哈尔直销商城软件开发
北京昌平职业学校网络技术
西安网络安全工作实习
应用程序需要安装数据库
广东系统软件开发排行榜