我正在读一个文本文件,我将它转换成数组(键,对)。如果我有和管道分隔符相同的键,我想附加这些值。我是python新手,有人能帮我解决这个问题吗。请查找我的代码和输入输出格式:
文件输入:(测试.txt)你知道吗
1234567 E29dceffb-28bd-4f05-b91f-03f05510c081,0743,438864,10/06/2016,7,IK,PP,7136977,,4,37791,,,,01/11/2017
83738383 E29dceffb-38373-3839-8393-83038383,0743,438864,10/06/2016,7,PO,VC,4,37791,,,,01/11/2017
1234567 E29dceffb-38DFG3-4f05-0393-39303933,1234,78789,10/06/2016,7,LL,YY,7136977,,4,37791,,,01/10/2017
Python代码:
import sys
with open('test.txt') as f:
result = dict(line.split(' ', 1) for line in f)
for line in list:
if line[0] in result:
result[line[0]].append(line[1])
else:
result[line[0]] = [line[1]]
我想打印我的密钥和值,如下所示:
Key: 1234567.AB.K
Value: E29dceffb-28bd-4f05-b91f-03f05510c081,0743,438864,10/06/2016,7,IK,PP,7136977,,4,37791,,,,01/11/2017|E29dceffb-38DFG3-4f05-0393-39303933,1234,78789,10/06/2016,7,LL,YY,7136977,,4,37791,,,01/10/2017|
Key: 83738383.AB.K
Value: E29dceffb-38373-3839-8393-83038383,0743,438864,10/06/2016,7,PO,VC,4,37791,,,,01/11/2017|
如果同一个键出现多个值,则使用管道分隔符来区分第一个记录、第二个记录等。你知道吗
我将得到大约200万的参赛者测试.txt文件。你知道吗
我在python中处理这个问题的效率有多高。我的python脚本没有按预期工作,如果我尝试为同一个键附加值,它会破坏代码。你知道吗
非常感谢您的帮助! 提前谢谢。你知道吗
我不确定你在
list
循环中的for
。你知道吗当您尝试为同一个键追加值时,代码中断的原因是您创建了
result
作为字典,每个值都是一个字符串。你知道吗您需要的是为最终结果创建一个
result_dict
,类似这样将打印
相关问题 更多 >
编程相关推荐