Объединение нескольких похожих таблиц вместе с отсутствующими элементами и стоимостью - PullRequest
0 голосов
/ 04 января 2019

Пожалуйста, помогите.Мне нужно объединить много .txt файлов в 1 итоговый .txt файл.Например, мой 1-й файл:

Name1
A    1
B    4
C    5

мой 2-й файл:

Name2
A    3
D    2
E    1

Мне нужно создать файл, подобный этому:

    Name1    Name2
A    1        3
B    4        0
C    5        0
D    0        2
E    0        1

Как вы можетевидите, мои 2 файла имеют схожий формат, но они имеют как общие (A), так и уникальные (B,C,D,E) компоненты.Чтобы объединить их вместе, я думаю о создании словарей, которые принимают Name1 и Name2 в качестве названий словарей.Однако я не знаю, как динамически передавать имя для словарей, если у меня есть около 100 файлов.После этого я думаю о создании общего словаря, в котором есть все ключи из каждого файла.Затем я сравню свои ключи из каждого файла с этим общим словарем, все недостающие ключи будут добавлены со значением 0. Я не знаю, что делать дальше, чтобы он печатался в нужном мне формате.

1 Ответ

0 голосов
/ 04 января 2019

Вы должны использовать pandas для операций с данными.Вот решение, использующее pandas

import pandas as pd

df1 = pd.DataFrame({'name1':[1,4,5]}, index=['A','B','C'])
df2 = pd.DataFrame({'name2':[3,2,1]}, index=['A','D','E'])

df_new = df1.join(df2, how='outer')
df_new.fillna(0)

Вывод:

    name1   name2
A   1.0     3.0
B   4.0     0.0
C   5.0     0.0
D   0.0     2.0
E   0.0     1.0

Редактирование

Сначала преобразуйте файлы .txt в csv илиtsv файлы, которые будут прочитаны пандами с помощью pd.read_csv()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...