gpt4 book ai didi

python - 合并字典键值

转载 作者:行者123 更新时间:2023-12-01 05:02:57 25 4
gpt4 key购买 nike

我有两个带有键和值的文件。我正在尝试将它们与相应的keyvalue合并。键存在于文件中,file1 中的 value1file2 中的 value2 中。这些文件有很多列,两个文件中的 key 都在 col[0] col[1]

我正在尝试得到这样的东西:

key  value1 value2

代码:

from collections import defaultdict

d2 = {}

with open('file2.txt', 'r') as file2:
for row in file2:
cols = row.strip().split()
#print(cols);
key = cols[0], cols[1]
value1 = cols[4]
with open('file1.txt', 'r') as file1:
for row in file1:
cols = row.strip().split()
#print(cols);
key = cols[0], cols[1]
value2 = cols[2]

print ("%s %s %s %s\n" % (d2[cols[0]], d2[cols[1]], d2[cols[4]], d2[cols[2]]))

Error:

Traceback (most recent call last):
File "test_two.py", line 21, in <module>
print ("%s %s %s %s\n" % (d2[cols[0]], d2[cols[1]], d2[cols[4]], d2[cols[2]]))
KeyError: '3545' (first line)

最佳答案

for d in (file1,file2):

这里,f 是您的文件之一。

    for key, value in d:  

如果您迭代该文件,您将获得(字符串)。当您迭代一行(字符串)时,您将获得字符。因此,除非文件中的所有行都是两个字符长,否则 for key, value in d 将失败。

您的代码的其余部分(cols = row.strip().split())似乎是正确的,但不清楚row来自哪里。正如 Ashwini Chaudhary 所说,您可能想要 for row in d

关于python - 合并字典键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667722/

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