Как обращаться к названию файла при следующей итерации?

George295

Новичок
Пользователь
Фев 20, 2022
1
0
1
Задача: Собрать из разных файлов определенные столбцы в один большой набор данных
Проблема: Записываются данные только из одного файла

Python:
import os
import pandas as pd
import csv
import pathlib

path = "D"
dirs = os.listdir(path)



def collect_data(dirs):
    df_main = pd.DataFrame()
    for file in dirs:
        # print (file)
        dir_path = os.path.abspath(file)
        df1 = pd.read_csv(str(dir_path), sep = "\t")
        df_1 = pd.DataFrame( df1[["RPKM_M"]])
        # file += file 
        dir_path_tmp = os.path.abspath(file)
        df2 = pd.read_csv(str(dir_path_tmp), sep = "\t")
        df_2 = pd.DataFrame(df2[["RPKM_M"]])

        df_main = pd.concat([df_1, df_2], axis=1)

        return df_main

collect_data(dirs).to_csv('main.csv')
 

Вложения

  • Screenshot 2022-02-20 104355.jpg
    Screenshot 2022-02-20 104355.jpg
    177,3 КБ · Просмотры: 3

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
Проблема возникает потому, что в цикле for в функции ты используешь return и таким образом завершаешь всю функции и цикл for следовательно тоже, он успевает пройти только одну итерацию
 

Форум IT Специалистов