gpt4 book ai didi

python - 如何读取 csv 文件中不同列的变量和字典?

转载 作者:行者123 更新时间:2023-12-01 08:13:25 24 4
gpt4 key购买 nike

所以我有一个 CSV 文件,其中有 2 列,其中一列是字典键(键的所有值都是 1),另一列是时间,该时间仅在一个单元格中作为其最终时间。我找到了一个有效的代码,但它似乎有点过分,想知道是否有人知道有什么方法可以缩短它?

with open('coors.csv', mode='r') as infile:
reader = csv.reader(infile)
next(reader, None)
mydict = {columns[0]:1 for columns in reader}
with open('coors.csv', mode='r') as infile:
reader = csv.reader(infile)
next(reader, None)
time = [columns[1] for columns in reader][0]

我尝试按如下方式编写它,但没有成功,有人可以解释原因吗:

with open('coors.csv', mode='r') as infile:
reader = csv.reader(infile)
next(reader, None)
mydict = {columns[0]:1 for columns in reader}
time = [columns[1] for columns in reader][0]

最佳答案

csv.reader 返回一个可迭代对象,因此一旦通过迭代耗尽它,它将不会产生任何更多项目,除非您执行文件查找来重置文件指针。

为了您的目的,您应该简单地使用 zip 将两列配对并将它们解压到两个列表中。由于您只需要第一次,因此您可以进一步解压第二个列表以提取第一项。然后,您可以使用 dict.fromkeys 方法从键列表构建字典:

with open('coors.csv', mode='r') as infile:
reader = csv.reader(infile)
next(reader, None)
keys, (time, *_) = zip(*reader)
mydict = dict.fromkeys(keys, 1)

关于python - 如何读取 csv 文件中不同列的变量和字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55093827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com