Excel Python скрипт для управления данными - PullRequest
2 голосов
/ 07 января 2020

Я пытаюсь написать сценарий python для сбора данных из таблицы excel (см. Рисунок) со множеством таблиц и данных в дюймах.

Таблица содержит мольная доля видов в каждом столбце при различном давлении в каждом ряду.

Мне понадобятся только таблицы с именами "..._ end_point_vs_parameter". PFRC1 ... представляет результаты мольной доли при 100 ° C, поэтому я должен учитывать до PFRC13_end_point_vs_parameter (700 ° C).

Мой сценарий в настоящее время работает только для одной строки и одной электронной таблицы:

import pandas as pd


species = ["O2","CO","CO2","CH4","H2O","C2H6","CH2O","C2H4","CH3OH","C2H2","CH3COCH3","C3H8","C3H6","IC4H8","IC8H18"]
reactors = ["PFRC1","PFRC2","PFRC3","PFRC4","PFRC5","PFRC6","PFRC7","PFRC8","PFRC9","PFRC10", "PFRC11", "PFRC12", "PFRC13"]

xlsfile = pd.ExcelFile('PLUG_MehlPRF2011_1000sccm.xlsx')

sheets = xlsfile.sheet_names

frames = dict.fromkeys(sheets)

output =pd.DataFrame(index=reactors)



for sheet in sheets:
    df = xlsfile.parse(sheet_name=sheet)
    frames[sheet] = df

#for reactor in reactors:
#    [frame for key, frame in frames.items() if reactor in key]


for compound in species:
    profile=pd.Series(name=compound, index=reactors)
    for reactor in reactors:
        columname = " Mole_fraction_"+compound+"_"+reactor+"_()"
        for key in frames:
            df=frames[key]
            if columname in df.columns:
                profile[reactor]=df[columname].iloc[-1]    
    output[compound]=profile

output.to_excel("profiles.xlsx")

Как мне собрать данные из разных электронных таблиц и для каждого определенного столбца назвать все данные в нем. Мне нужно как-то суммировать эти данные в это .

...