如何从Python上的txt文件创建字典

如何从Python上的txt文件创建字典,python,dictionary,Python,Dictionary,这是我拥有的txt文件内容: salesUnits:500 priceUnit:11 fixedCosts:2500 variableCostUnit:2 我需要用Python创建一个字典来读取文件,并将键设置为salesfunits等,将值设置为数字。到目前为止,我的代码只会打印每单位的可变成本: with open("myInputFile.txt") as f: content = f.readlines() myDict = {} for line in content:

这是我拥有的txt文件内容:

salesUnits:500
priceUnit:11
fixedCosts:2500
variableCostUnit:2
我需要用Python创建一个字典来读取文件,并将键设置为
salesfunits
等,将值设置为数字。到目前为止,我的代码只会打印每单位的可变成本:

with open("myInputFile.txt") as f:
    content = f.readlines()
myDict = {}
for line in content:
    myDict=line.rstrip('\n').split(":")
print(myDict)

如何修复代码以显示所有键和值对?谢谢大家!

每次调用
myDict=line.rstrip('\n').split(“:”)
时都会覆盖myDict。要添加到字典的模式是dictionary[key]=value

myDict = {}
with open("myInputFile.txt") as f:
    for line in f:
        key_value = line.rstrip('\n').split(":")
        if len(key_value) == 2:
            myDict[key_value[0]]=key_value[1]
print(myDict)
输出

{'fixedCosts': '2500', 'priceUnit': '11', 'variableCostUnit': '2', 'salesUnits': '500'}

每次调用
myDict=line.rstrip('\n').split(“:”)
,都会覆盖myDict。要添加到字典的模式是dictionary[key]=value

myDict = {}
with open("myInputFile.txt") as f:
    for line in f:
        key_value = line.rstrip('\n').split(":")
        if len(key_value) == 2:
            myDict[key_value[0]]=key_value[1]
print(myDict)
输出

{'fixedCosts': '2500', 'priceUnit': '11', 'variableCostUnit': '2', 'salesUnits': '500'}

使用简单的听写理解可以处理以下问题:

with open('testinput.txt', 'r') as infile:
    dict = {
        line.strip().split(':')[0]:
        int(line.strip().split(':')[1])
            if line.strip().split(':')[1].isdigit()
        else
        line.strip().split(':')[1]
        for line in infile.readlines()}
print(dict)
输出:

{'salesUnits': 500, 'priceUnit': 11, 'fixedCosts': 2500, 'variableCostUnit': 2}
{'fixedCosts': '2500', 'priceUnit': '11', 'variableCostUnit': '2', 'salesUnits': '500'}
如果希望将数字作为简单字符串输入,只需使用:

    dict = {
        line.strip().split(':')[0]:
        line.strip().split(':')[1]
        for line in infile.readlines()}
还请注意,您可以使用以下附加变体为其他数据类型或数据格式添加处理:

        int(line.strip().split(':')[1])
        if line.strip().split(':')[1].isdigit()
    else

使用简单的听写理解可以处理以下问题:

with open('testinput.txt', 'r') as infile:
    dict = {
        line.strip().split(':')[0]:
        int(line.strip().split(':')[1])
            if line.strip().split(':')[1].isdigit()
        else
        line.strip().split(':')[1]
        for line in infile.readlines()}
print(dict)
输出:

{'salesUnits': 500, 'priceUnit': 11, 'fixedCosts': 2500, 'variableCostUnit': 2}
{'fixedCosts': '2500', 'priceUnit': '11', 'variableCostUnit': '2', 'salesUnits': '500'}
如果希望将数字作为简单字符串输入,只需使用:

    dict = {
        line.strip().split(':')[0]:
        line.strip().split(':')[1]
        for line in infile.readlines()}
还请注意,您可以使用以下附加变体为其他数据类型或数据格式添加处理:

        int(line.strip().split(':')[1])
        if line.strip().split(':')[1].isdigit()
    else
输出:

{'salesUnits': 500, 'priceUnit': 11, 'fixedCosts': 2500, 'variableCostUnit': 2}
{'fixedCosts': '2500', 'priceUnit': '11', 'variableCostUnit': '2', 'salesUnits': '500'}
输出:

{'salesUnits': 500, 'priceUnit': 11, 'fixedCosts': 2500, 'variableCostUnit': 2}
{'fixedCosts': '2500', 'priceUnit': '11', 'variableCostUnit': '2', 'salesUnits': '500'}

修复什么代码,您没有在此处显示任何代码只是添加了代码:)修复什么代码可能重复,您没有在此处显示任何代码只是添加了代码:)可能重复