完全是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创建多级嵌套字典相关推荐

  1. python 显示字典内容_在pythontkin的标签中显示字典内容

    Label(..., text= x)将只显示一次-在开始处.在 您必须使用StringVar来完成您期望的操作x_var = StringVar() Label(..., texvariable=x ...

  2. vb6调用python识别训练例子_在vb6中创建的“标准”dll在python中调用时会出现访问冲突...

    从vb6dll导出函数的最简单方法是使用vbAdvance add-in,现在它是免费软件.在 您面临的问题是,您需要在调用导出的线程上初始化VB6运行时.这包括初始化COM单元(STA).最简单的方 ...

  3. java的for循环嵌套_优化Java的for循环嵌套的高效率方法

    两个list中分别装有相同的对象数据. list1中有3万条对象数据. list2中有2万条对象数据(但是对象中的某个属性变量为空).两个list中的id或者其他变量都一模一样.请用最快的方式找出li ...

  4. python单链表操作_单链表的创建、增删改查等操作(Python实现)

    单链表的创建.增删改查等操作(Python实现) # 单链表 class Node: def __init__(self, elem): self.elem = elem self.next = No ...

  5. 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 ...

  6. python自定义函数名_使用自定义名称创建Python动态函数

    如果这个问题已经提出并得到了回答,我深表歉意. 我需要做的是非常简单的概念,但不幸的是,我还没有找到一个在线答案. 我需要在Python(Python2.7)中使用运行时的自定义名称创建动态函数.每个 ...

  7. hash ruby 定义 嵌套_【译】rails的嵌套属性(Nested Attributes)使用

    一个member有一些post class Member < ActiveRecord::Base has_many :posts accepts_nested_attributes_for : ...

  8. python扇贝单词书_扇贝单词如何创建自己的单词书

    扇贝单词如何创建自己的单词书 工具/原料 扇贝 方法/步骤 1 用扇贝记单词时使用的是别人的单词书,如果想记哪些单词就记哪些,可以自己创建一本单词书.首先打开扇贝网,找到单词书,点击进入. 2 找到右 ...

  9. python学习-字典(哈希表、创建、插值、取值、keys、values、items、copy、fromkeys)

    字典 字典的创建 字典的使用 字典的创建 首先需要注意,字典是由键值对(key=>value)组成,成对出现的,其中key是不能改变的值,如整数,浮点数,字符串,元组等 Python的字典实现使 ...

最新文章

  1. 考夫曼:破解大脑代码并创建真正的人工智能
  2. sgmllib Introduction
  3. JS/PHP中,数组与字符串的转换,这次总算是记住了
  4. 7.2Python入门(三)
  5. Linux中如何判断一个另外进程是否活着
  6. 印象笔记如何分享链接_印象笔记共享问题解决经过
  7. php嵌入wowza,Wowza服务器上的PHP脚本无法通过HTTP身份验证?
  8. EL调用的是poji实体类的get方法
  9. Hanlp词性对照表 中文词性对照表 英文词性对照表_CodingPark编程公园
  10. 【最新Unity3D—Particle System粒子系统】最新Unity2017.2018.2019.2020均适用且超详细
  11. Qt实现一个简单的钟表
  12. [转载]轻松学习XML(六)
  13. Switch新机发布引全球吐槽,老任给牙膏厂上了一课,这波是等等党输了
  14. 华为什么出鸿蒙系统,华为已官宣鸿蒙,中兴和魅族的态度却截然不同, 到底啥原因?...
  15. APS生产计划排程系统解决方案,在制造企业中有哪些作用?
  16. 老说程序员如何看产品经理,今天说说产品经理讨厌哪些程序员
  17. DBLE分库分表实战
  18. Java垃圾收集学习笔记
  19. 15天精读掌握《高德纳:具体数学》 第4天 2019.5.30
  20. 黄淮学院CSDN高校俱乐部把梳子卖给和尚话剧表演活动

热门文章

  1. html5input表单标签新属性
  2. java js中 function函数报错_浅析JS中对函数function的理解(基础篇)
  3. python2 unicode编码_如何优雅解决python2.x的unicode编码优雅输出?
  4. 计算机基础知识总结论文,大学计算机基础总结论文
  5. 【C语言进阶深度学习记录】三 浮点数(float) 在内存中的表示方法
  6. 大数据和后端学习知识体系思维导图
  7. [优先队列][堆] Luogu P4505 组合子逻辑
  8. Linux课堂笔记-第二天
  9. james-2.3.2中的配置
  10. 编写HTML提高编写代码的效率,优化innerHTML操作(提高代码执行效率)