두 개의 텍스트 파일을 병합하고 싶습니다. 첫 번째 텍스트 파일의 모든 행과 두 번째 텍스트 파일의 값이 모두 포함 된 사전을 병합합니다. 가능한 경우 텍스트 파일. 누군가 제발 도와 줄 수 있니? 예를 들어 두 개의 텍스트 파일을 파이썬에서 사전에 병합
,해서 a.txt는 다음과 같습니다
apple 5 7e-6 na 2.2
banana 9 3e-2 2 2.1
orange na 9.2 2.1 na
b.txt은 다음과 같습니다
orange 5 6.2 na 6e-3 nd
mango 4 7.3 na 7 3
apple 4 4.4 4.3 na 2
내가 그렇게 파이썬에서 이러한 두 개의 텍스트 파일을 병합 할 다음과 같이 출력됩니다.
apple 5 7e-6 na 2.2 4 4.4 4.3 na 2
banana 9 3e-2 2 2.1 na na na na na
orange na 9.2 2.1 na 5 6.2 na 6e-3 nd
나는 두 개의 텍스트 파일을 두 개의 사전을 만들고 그들을 함께 추가 TEH 다음 코드를 사용하여 시도 :
with open('a.txt', 'r') as document:
a = {}
for line in document:
if line.strip(): # non-empty line?
key, value = line.split(None, 1)
a[key] = value.split()
with open('b.txt', 'r') as document:
b = {}
for line in document:
if line.strip(): # non-empty line?
key, value = line.split(None, 1)
b[key] = value.split()
def combineDict(*args):
result = {}
for dic in args:
for key in (result.viewkeys() | dic.keys()):
if key in dic:
if type(dic[key]) is list:
result.setdefault(key, []).extend(dic[key])
return result
final = combineDict(a,b)
을하지만이
키 분할의 첫 번째 값이며, 목록은 나머지를 추가합니다. 그게 암시 야, 그렇지 않으면, 너 무슨 짓을 한거야? 텍스트 파일,리스트 및 문자열 연산을 처리하는 방법을 찾았습니까? 코드가 있습니까? –
귀하의 시도를 보여주십시오. – yash
전혀 시도한 적이 없습니까, 아니면 그냥 우리에게 당신을 대신해달라고 요청 했습니까? –