Я искал на сайте, но не могу найти ничего похожего на то, что я пытаюсь выполнить sh. У меня есть 2 текстовых файла, которые я хочу объединить в 1 файл на основе первой строки в каждом файле (давайте назовем эту строку x). Например, если x существует в файлах file1 и file2, я хочу взять x и отобразить информацию о продолжении из файлов file1 и file2 в его строке. Обратите внимание, файл file1 содержит заголовок. Ниже приведен предварительный просмотр того, как читается каждый файл:
Файл 1:
X, DES1, DES2, DES3, NUMBERS
123, text, text, text, 456
321, text, text, text, 43222
124, text, text, text, 3254
125, text, text, text, 2352634
279, text, text, text, 3243
567, text, text, text, 00001
345, text, text, text, 02
Файл 2:
123, 152352364
124, 32535
125, 745734
345, 4000
И так далее. Каждый элемент (или x) в файле2 существует в файле1. Однако file1 содержит другие значения для x, которых нет в file2. Могу ли я объединить данные из двух файлов в новый файл? Ниже показано, что я пробовал, но в моем операторе печати появляется ошибка KeyError. Я уверен, что код очень неправильный, FYI.
f1 = {}
with open ("file1.txt") as my1:
for line in my1.readlines():
f1[line.split(",")[0]] = line.strip().split(",")[1:]
f2={}
with open ("file2.txt") as my2:
for line in f.readlines():
f2[line.split(",")[0]] = line.strip().split(",")[1:]
for key in f1.keys():
print(key, str.join(",",f1[key]), str.join(",",f2[key]))
Любая помощь будет оценена. Я понимаю, что мне, вероятно, придется серьезно переделать или выбросить то, что у меня есть. Мой ожидаемый результат будет выглядеть следующим образом:
X, DES1, DES2, DES3, NUMBERS, NEWNUMB
123, text, text, text, 456, 152352364
321, text, text, text, 43222, 0
124, text, text, text, 3254, 32535
125, text, text, text, 2352634, 745743
279, text, text, text, 3243, 0
567, text, text, text, 00001, 0
345, text, text, text, 02, 4000