python多级字典嵌套_使用pythonscsv DictReader创建多级嵌套字典
完全是Python noob,可能遗漏了一些明显的东西。我到处找遍了,还没有找到解决办法,所以我想我应该寻求一些帮助。在
我正在尝试编写一个函数,它将从一个大的csv文件构建一个嵌套字典。输入文件的格式如下:Product,Price,Cost,Brand,
blue widget,5,4,sony,
red widget,6,5,sony,
green widget,7,5,microsoft,
purple widget,7,6,microsoft,
等等。。。在
我需要的输出字典如下所示:
^{pr2}$
但很明显,许多不同的品牌包含不同的产品。在输入文件中,数据是按品牌名称的字母顺序排序的,但我知道,一旦DictReader执行,它就会变得无序,所以我肯定需要一种更好的方法来处理重复数据。所写的if语句是多余的和不必要的。在
以下是到目前为止我得到的不起作用的无用代码:def build_dict(source_file):
projects = {}
headers = ['Product', 'Price', 'Cost', 'Brand']
reader = csv.DictReader(open(source_file), fieldnames = headers, dialect = 'excel')
current_brand = 'None'
for row in reader:
if Brand != current_brand:
current_brand = Brand
projects[Brand] = {Product: {'Price': Price, 'Cost': Cost}}
return projects
source_file = 'merged.csv'
print build_dict(source_file)
当然,我已经导入了文件顶部的csv模块。在
最好的办法是什么?我觉得自己走得太远了,但是关于从CSV创建嵌套dict的信息非常少,而且现有的示例都非常具体,而且往往不会详细说明解决方案实际工作的原因,因此作为一个刚接触Python的人,很难得出结论。在
另外,输入的csv文件通常没有标题,但是为了获得这个函数的工作版本,我手动插入了一个标题行。理想情况下,会有一些代码来分配标题。在
如有任何帮助/指导/建议,我们将不胜感激,谢谢!在
python多级字典嵌套_使用pythonscsv DictReader创建多级嵌套字典相关推荐
- python 显示字典内容_在pythontkin的标签中显示字典内容
Label(..., text= x)将只显示一次-在开始处.在 您必须使用StringVar来完成您期望的操作x_var = StringVar() Label(..., texvariable=x ...
- vb6调用python识别训练例子_在vb6中创建的“标准”dll在python中调用时会出现访问冲突...
从vb6dll导出函数的最简单方法是使用vbAdvance add-in,现在它是免费软件.在 您面临的问题是,您需要在调用导出的线程上初始化VB6运行时.这包括初始化COM单元(STA).最简单的方 ...
- java的for循环嵌套_优化Java的for循环嵌套的高效率方法
两个list中分别装有相同的对象数据. list1中有3万条对象数据. list2中有2万条对象数据(但是对象中的某个属性变量为空).两个list中的id或者其他变量都一模一样.请用最快的方式找出li ...
- python单链表操作_单链表的创建、增删改查等操作(Python实现)
单链表的创建.增删改查等操作(Python实现) # 单链表 class Node: def __init__(self, elem): self.elem = elem self.next = No ...
- python django开发工具_利用pyCharm编辑器创建Django项目开发环境-python开发工具第一篇...
[前置说明] 1.django环境与python对应关系: Django version Python versions 1.11 2.7, 3.4, 3.5, 3.6, 3.7 (added in ...
- python自定义函数名_使用自定义名称创建Python动态函数
如果这个问题已经提出并得到了回答,我深表歉意. 我需要做的是非常简单的概念,但不幸的是,我还没有找到一个在线答案. 我需要在Python(Python2.7)中使用运行时的自定义名称创建动态函数.每个 ...
- hash ruby 定义 嵌套_【译】rails的嵌套属性(Nested Attributes)使用
一个member有一些post class Member < ActiveRecord::Base has_many :posts accepts_nested_attributes_for : ...
- python扇贝单词书_扇贝单词如何创建自己的单词书
扇贝单词如何创建自己的单词书 工具/原料 扇贝 方法/步骤 1 用扇贝记单词时使用的是别人的单词书,如果想记哪些单词就记哪些,可以自己创建一本单词书.首先打开扇贝网,找到单词书,点击进入. 2 找到右 ...
- python学习-字典(哈希表、创建、插值、取值、keys、values、items、copy、fromkeys)
字典 字典的创建 字典的使用 字典的创建 首先需要注意,字典是由键值对(key=>value)组成,成对出现的,其中key是不能改变的值,如整数,浮点数,字符串,元组等 Python的字典实现使 ...
最新文章
- 考夫曼:破解大脑代码并创建真正的人工智能
- sgmllib Introduction
- JS/PHP中,数组与字符串的转换,这次总算是记住了
- 7.2Python入门(三)
- Linux中如何判断一个另外进程是否活着
- 印象笔记如何分享链接_印象笔记共享问题解决经过
- php嵌入wowza,Wowza服务器上的PHP脚本无法通过HTTP身份验证?
- EL调用的是poji实体类的get方法
- Hanlp词性对照表 中文词性对照表 英文词性对照表_CodingPark编程公园
- 【最新Unity3D—Particle System粒子系统】最新Unity2017.2018.2019.2020均适用且超详细
- Qt实现一个简单的钟表
- [转载]轻松学习XML(六)
- Switch新机发布引全球吐槽,老任给牙膏厂上了一课,这波是等等党输了
- 华为什么出鸿蒙系统,华为已官宣鸿蒙,中兴和魅族的态度却截然不同, 到底啥原因?...
- APS生产计划排程系统解决方案,在制造企业中有哪些作用?
- 老说程序员如何看产品经理,今天说说产品经理讨厌哪些程序员
- DBLE分库分表实战
- Java垃圾收集学习笔记
- 15天精读掌握《高德纳:具体数学》 第4天 2019.5.30
- 黄淮学院CSDN高校俱乐部把梳子卖给和尚话剧表演活动
热门文章
- html5input表单标签新属性
- java js中 function函数报错_浅析JS中对函数function的理解(基础篇)
- python2 unicode编码_如何优雅解决python2.x的unicode编码优雅输出?
- 计算机基础知识总结论文,大学计算机基础总结论文
- 【C语言进阶深度学习记录】三 浮点数(float) 在内存中的表示方法
- 大数据和后端学习知识体系思维导图
- [优先队列][堆] Luogu P4505 组合子逻辑
- Linux课堂笔记-第二天
- james-2.3.2中的配置
- 编写HTML提高编写代码的效率,优化innerHTML操作(提高代码执行效率)