Как мне извлечь значения из нескольких файлов CSV, которые находятся в разных подкаталогах в новый файл CSV? - PullRequest
2 голосов
/ 03 апреля 2019

Я новичок в написании сценариев. Любая помощь приветствуется!

Я пытаюсь получить значения от каждого из моих предметов. У каждого предмета есть свой каталог. В их каталоге находится CSV-файл со значениями артериального давления, которые я хочу вытащить и сохранить в новый CSV-файл.

CSV настроен так

    1     2     3     4   
    3.5   4.0   3.0   5.0 

Я хочу, чтобы скрипт нашел числа «1», «3» и «4», скопировал значения, связанные с ними, и сохранил его в новый CSV-файл в моем рабочем каталоге.

Я нашел скрипт, который делает что-то похожее:

    awk -F "\"*,\"*" '{print $2}' textfile.csv

но как мне найти каталог, в котором находится CSV-файл?

Я хотел бы запустить это для нескольких предметов одновременно, с новыми данными CSV, такими как:

    SUBJECT01   3.5   3.0  4.0 
    SUBJECT02   4.0   2.0  6.0
    SUBJECT03   6.0   5.0  7.0

Заранее благодарим за любую помощь / совет.

1 Ответ

0 голосов
/ 03 апреля 2019

Так что я раньше не использовал awk, поэтому я сохраняю свои .csv в фрейм данных, используя Pandas.В этом сценарии я создаю список пар имя файла + датафрейм (где в фрейме данных хранится запись конкретного пациента)

Я получаю информацию из подкаталогов, используя модуль OS walk ():

import os
import pandas as pd

dfList = [] # holds the file name and the dataframe with its info
for a,b,c in os.walk(os.getcwd()): #creates an iterator that holds a 3 peice tuple where 'a' is path and c[0] is the file name
    if c[0].endswith('.csv'):
        dfList.append((os.path.basename(c[0]), pd.read_csv(a + '\\' + c[0])))

Теперь вы можете создавать сводный отчет на основе нового dfList.Я оставлю эти детали до вас.

Затем, чтобы сохранить отчет, вы можете использовать pandas для csv:

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