В моем каталоге несколько файлов, разделенных табуляцией, которые структурированы следующим образом:
ABCDE152 blablabla
ABCDE1653 irrelevant
ABGCA4545 useless
(...)
Мне нужно добавить первый столбец каждого файла в виде столбца DataFrame с pandas, заголовком каждый столбец должен быть назван как мой путь к каталогу, и в конечном итоге я выведу его как .tsv
Пока это мой сценарий:
import os
import argparse
import pandas
parser = argparse.ArgumentParser(description=
"blabla")
parser.add_argument("--directory", "-d",
help="The directory with the tab-separated files",
required=True)
parser.add_argument("--output", "-o",
help="The directory for the output table",
required=True)
args = parser.parse_args()
for dirpath, dirnames, filenames in os.walk(args.directory):
if filenames:
for filename in filenames:
with open(os.path.join(dirpath, filename), 'r') as f:
first_column = []
for line in f:
line = line.split("\t")
first_column.append(line[0])
df = pandas.DataFrame(first_column, columns = [dirpath])
Однако, фрейм данных, очевидно, будет перезаписывать после каждой прогулки, и в конце у меня будет только один файл данных. Я хотел создать df один раз, а затем добавить новые столбцы в фрейм данных на основе списка first_column .
Фрейм данных должен выглядеть так:
dirpath1 dirpath2 dirpath3 ...
0 ABABC12 ASGATS12 ACGAGCA
1 FCAFC121 ASGAS47 FAF5243
2 AGSFAS12 AAAFD457 ASGAFS5
...
Это возможно?
Большое спасибо!