我需要帮助,我想知道如何用python制作两个字典,在一个.txt文件中用空格分隔
文件的外观如下所示:
value1 value10
value2 value20
value3 value30
var1 var10
var2 var20
var3 var30
我希望输出像这样:
{'value1': value10, 'value2': value20, 'value3': value30}, {'var1': var10, 'var2': var20, 'var3': var30}
我已经测试了很多可能性,但是这个代码不起作用,因为实际上,我有这个
{'value1': 'value10'}
{'value1': 'value10', 'value2': 'value20'}
{'value1': 'value10', 'value2': 'value20', 'value3': 'value30'}
{'value1': 'value10', 'value2': 'value20', 'value3': 'value30', 'var1': 'var10'}
{'value1': 'value10', 'value2': 'value20', 'value3': 'value30', 'var1': 'var10', 'var2': 'var20'}
{'value1': 'value10', 'value2': 'value20', 'value3': 'value30', 'var1': 'var10', 'var2': 'var20', 'var3': '
你能帮帮我吗, 我的代码实际上是:
dictionnary = {}
lector = open("file.txt","r")
file = lector.readlines()
for i in range(0,len(file)):
if len(file[i].split()) == 2 :
first_val = file[i].split()[0]
second_val = file[i].split()[1]
dictionnary.update({first_val : second_val})
print(dictionnary)
您可以使用
itertools.groupby
对块进行分组:印刷品:
您需要确保检测到空行(相当于双换行)。下面是如何使用列表理解来完成此操作:
我接收整个文件,打算手动拆分行。首先删除最外层的换行符(如果有的话),然后在内部的双换行符上拆分。这会产生块;按换行符拆分这些行可以生成行,这些行可以按空格拆分以生成键和值。块的所有键值对都被送入
dict
构造函数与您所做的更接近:
您还可以使用生成器将每个数据系列组合成一个
dict
,然后将生成器生成一个列表输出:
相关问题 更多 >
编程相关推荐