当前位置: 首页 > 面试题库 >

以第一列作为键读取两列CSV作为dict

隆睿
2023-03-14
问题内容

我有一个包含两列的CSV,第一列是致力于我们项目中特定建筑物的团队。

第二列是实际建筑物编号。

我正在寻找的是一本字典,其中第一列为关键字,列表中属于该团队的建筑物。

我尝试了各种形式的csv.readercsv.DictReader以及不同的for循环将数据重写到另一个字典中,但是我无法获得所需的结构。

CSV:

team,bldg,
3,204,
3,250,
3,1437,
2,1440,
1,1450,

字典的结构如下:

dict["1"] = ["1450"]
dict["2"] = ["1440"]
dict["3"] = ["204", "250", "1437"]

问题答案:

这有效:

import csv

result={}
with open('/tmp/test.csv','r') as f:
    red=csv.DictReader(f)
    for d in red:
        result.setdefault(d['team'],[]).append(d['bldg'])

#results={'1': ['1450'], '3': ['204', '250', '1437'], '2': ['1440']}


 类似资料:
  • 问题内容: 我想在服务器中使用列作为表 但这出错了 当我将的类型更改为varchar时..它起作用了! 你能告诉我是否可以使文本列为 问题答案: 基本上,您不能将列用作键。因为实际上这么大的列将不是唯一的,并且可能会出现更多重复的情况。因此,寻找方法并将该输出用作UNIQUE约束。 希望这对您有帮助

  • 问题 > 我想要一个键值对列表,比如HashMap,或者其他推荐的。 此列表应包含用于检索值的唯一键对象。 键不应该是字符串,因为字符串不是唯一的,可以传递任何值。 常量也是有限的,也使用字符串的概念,不应该被考虑。 示例 > 在这个阶段,我创建了一个包含所有键的枚举。例如,枚举颜色{RED,BLUE},然后将其添加到新的HashMap中。 因此,检索颜色的唯一方法是将枚举用作键列表[color.

  • 我得到了一个CSV文件和一个头文件,它必须通过Spark(2.0.0和Scala2.11.8)作为数据frame读取。 是否有任何方法可以使用spark代码仅从CSV头中转义特殊字符?

  • 问题内容: 我正在尝试对格式的数据调用pyspark的reduceByKey函数 似乎pyspark不会接受数组作为普通键中的键,通过简单地应用.reduceByKey(add)可以减少值。 我已经尝试过先将数组转换为字符串,但是这样做不起作用,因为将字符串后处理回数组的速度太慢。 有没有办法让pyspark将数组用作键或使用另一个函数将字符串快速转换回数组? 这是相关的错误代码 摘要 : 输入:

  • 问题内容: 这个问题已经在这里有了答案 : 如何在Python中将两个列表组合成字典?[重复] (6个答案) 5年前关闭。 Python中是否有将两个列表合并成字典的 内置 函数?喜欢: 哪里: 充当包含键的列表。 充当包含值的列表 有一个名为array_combine的函数可以实现此效果。 问题答案: 似乎这样应该可以,尽管我猜这不是 一个 单一的功能: 从这里开始:如何在Python中将两个列

  • 我有一个文件,它的结构与python列表/字典相同,即。 有没有一些简单的方法如何阅读这个文件并将它转换成一个字典列表?