python - 如何从文本文件读取值并将其存储到字典中。 [Python]

标签 python string list dictionary io

我正在尝试弄清楚如何打开一个文件,然后使用零件号将其内容存储到字典中。作为键,其他信息作为值。所以我希望它看起来像这样:

{Part no.: "Description,Price", 453: "Sperving_Bearing,9900", 1342: "Panametric_Fan,23400",9480: "Converter_Exchange,93859"}

我能够将文件中的文本存储到一个列表中,但我不确定如何为一个键分配多个值。我试图在不导入任何模块的情况下执行此操作。我一直在使用基本的 str 方法、list 方法和 dict 方法。

最佳答案

对于 txt像这样归档

453     Sperving_Bearing    9900
1342    Panametric_Fan      23400
9480    Converter_Exchange  93859

你可以这样做

>>> newDict = {}
>>> with open('testFile.txt', 'r') as f:
        for line in f:
            splitLine = line.split()
            newDict[int(splitLine[0])] = ",".join(splitLine[1:])


>>> newDict
{9480: 'Converter_Exchange,93859', 453: 'Sperving_Bearing,9900', 1342: 'Panametric_Fan,23400'}

你可以去掉 ----...通过检查是否 line.startswith('-----') 行.

编辑 - 如果您确定前两行包含相同的内容,那么您可以这样做

>>> testDict = {"Part no.": "Description,Price"}
>>> with open('testFile.txt', 'r') as f:
        _ = next(f)
        _ = next(f)
        for line in f:
            splitLine = line.split()
            testDict[int(splitLine[0])] = ",".join(splitLine[1:])       
>>> testDict
{9480: 'Converter_Exchange,93859', 'Part no.': 'Description,Price', 453: 'Sperving_Bearing,9900', 1342: 'Panametric_Fan,23400'}

这会将第一行添加到 testDict在代码中跳过前两行,然后照常继续。

关于python - 如何从文本文件读取值并将其存储到字典中。 [Python],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17775273/

相关文章:

json - 如何从 Tornado 返回列表?

python - 如何显示多张图片?

Java 无法将枚举用作注释的字符串参数(例如 : Jackson)

Java:在 String 对象上同步

mysql - 如何为第一列有重复的行选择第二列?

java - 从 map 中随机选择 n 个项目

c# - 如何对通用列表中的部分项目进行排序

python - 如何使用 python 调整图像大小和形状?

javascript - 使用 Ajax jQuery 的动态选择选项不起作用

python - Appengine 上的 file.read() 返回垃圾字符