Как получить индексы полей из набора CSV-файлов в соответствии с заданным списком полей в python через SQL Запрос? - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть список полей и кортежей dataFrames (без заголовков):

fields = [field1, field2, field3]
dataFrames = (df1,df2,df3)

Теперь нужно найти вхождения field1,field2,field3 во всех dataframes и сохранить индекс для каждого dataframe. в конце у меня будет следующее:

{field1: df3, 4} # for example . 4 is the index found in df3 for field1 

что я сделал, используя pandas:

dict = {}
for dataframe in dataframes:
    for index, row in dataframe.iterrows():
        fieldToSerachInDataFrame = row[1]  # location of field name in dataframe
        indexInDataFrame = row[0] # index of the field in dataframe
        for field in fields:
            if fieldToSerachInDataFrame == field:
                fieldName = row[2].split('0', 1)[1]  # here i just doing some parsing on the field name
                dict[fieldName] = [field, indexInDataFrame]  # After we have a match - save field name in dictionary with his index in file
                break; # if found  -stop the iteration
return dict

Интересно, есть более эффективный способ сделать это, используя SQL с меньшим количеством строк и меньшей сложностью (независимо от того, как вы храните данные, главное - хранить индексы каждого поля в указанных файлах )

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