【问题标题】:How to convert a dictionary into a suitable format to save to file如何将字典转换为合适的格式以保存到文件
【发布时间】:2016-12-24 22:10:21
【问题描述】:

我是 python 新手 - 但是遇到了问题

我保存了一个文件,如下所示:

a,1
b,2
c,3

我可以使用以下代码将其转换为字典:

file = open("dict.txt",'r')
dictionary = {}

    for line in file:
        x = line.split(",")
        key = x[0]
        value = x[1]
        value = value [:-1]
        dictionary[key] = value

有代码允许用户添加元素(因此字典现在由 a:1、b:2、c:3、d:4 组成)

但是,我需要获取上述表格中的字典

所以

a,1
b,2
c,3
d,4

这可能吗?

如果有一些解释可以与答案相匹配,我将不胜感激

【问题讨论】:

  • 使用csvWriter 模块。
  • 我正在尝试在不导入模块的情况下找到解决方案
  • 然后使用一个简单的for循环遍历字典,并写入以逗号分隔的键和值。
  • 请问导入模块有什么问题?

标签: python file dictionary


【解决方案1】:

对于您指定的内容,您可以使用 items() 函数循环遍历字典的键/值对,并将每一对写入文件:

data_dict = {'a': 1, 'b': 2, 'c': 3}

with open('data.txt', 'w') as file:
    for key, value in data_dict.items():
        file.write(str(key) + ',' + str(value) + '\n')

当然,将data_dict 更改为您的字典等 - 这只是一个示例。

在某些极端情况下这不起作用,例如键或值包含逗号。如果您希望正确存储逗号分隔的数据,您可能需要查看builtin csv module

【讨论】:

  • 只要键没有逗号,您的示例就可以工作。
  • 不,这不是 CSV 的工作方式。当 CSV 字段中有逗号时,将其转义(\,):stackoverflow.com/questions/769621/…
  • 没关系,我只是警告 OP 其局限性。
  • @DYZ 我将在帖子中编辑限制描述:)
猜你喜欢
  • 1970-01-01
  • 2016-07-05
  • 1970-01-01
  • 2023-04-02
  • 2021-09-20
  • 2012-10-24
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
相关资源
最近更新 更多