首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中将txt文件转换为字典

在Python中将txt文件转换为字典
EN

Stack Overflow用户
提问于 2020-08-24 13:24:50
回答 3查看 43关注 0票数 0

我有一个包含以下内容的txt文件:

星期一,56

星期二,89

星期三,57

星期一,34

星期二,31

九九年星期三

我需要把它转换成字典:

{‘星期一’:56,34,‘星期二’:89,31,‘星期三’:57,99}

以下是我到目前为止拥有的代码:

代码语言:javascript
复制
d = {}
with open("test.txt") as f:
    for line in f:
        (key, val) = line.split()
        d[str(key)] = val
        print(d)

这是我从中得到的结果:

{‘星期一,':'56'}

{‘星期一,':'56',’星期二,':'89'}

{‘星期一':'56',’星期二':'89',‘星期三':'57'}

{‘星期一,':'34',’星期二,‘'89',’星期三,':'57'}

{‘星期一,':'34',’星期二,'31',‘星期三,':'57'}

{‘星期一,':'34',’星期二,'31',‘星期三,':'99'}

有人能帮我吗?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2020-08-24 13:50:18

代码语言:javascript
复制
d = {}

with open("test.txt") as f:
  for line in f:
    (key, val) = line.split()
    if not key in d.keys():
      d[key] = []

    d[key].append(val)

print (d)

这应该是可行的。

票数 2
EN

Stack Overflow用户

发布于 2020-08-24 13:50:18

当您拆分一行时,可以使用逗号作为分隔符。然后,在拆分行之后,您可以检查字典是否已经包含键:

代码语言:javascript
复制
(key, val) = line.split(',')
if key in d.keys:
    d[str(key)].append(val)
else:
    d[str(key)] = [val]
print (d)
票数 2
EN

Stack Overflow用户

发布于 2020-08-24 13:48:16

代码语言:javascript
复制
d = {}
with open("test.txt") as f:
    for line in f:
        (key, val) = line.split()
        if key in d:
            d[str(key)].append(val)
        else:
            d[str(key)] = [val]
print(d)

尝试在字典中添加值列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63555165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档