如何从文本文件中读取值并将其存储到字典中.[蟒蛇]

Har*_*rry 1 python string io dictionary list

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

{Part no.: "Description,Price", 453: "Sperving_Bearing,9900", 1342: "Panametric_Fan,23400",9480: "Converter_Exchange,93859"}
Run Code Online (Sandbox Code Playgroud)

我能够将文件中的文本存储到列表中,但我不确定如何为一个键分配多个值.我试图这样做而不导入任何模块.我一直在使用基本的str方法,列表方法和dict方法.

Suk*_*lra 8

对于txt像这样的文件

453     Sperving_Bearing    9900
1342    Panametric_Fan      23400
9480    Converter_Exchange  93859
Run Code Online (Sandbox Code Playgroud)

你可以这样做

>>> 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'}
Run Code Online (Sandbox Code Playgroud)

你可以----...通过检查是否删除该行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'}
Run Code Online (Sandbox Code Playgroud)

这会testDict在代码中添加第一行并跳过前两行,然后继续正常运行.