Создать фрейм данных из списка с несколькими столбцами - PullRequest
0 голосов
/ 07 декабря 2018

Я хочу создать фрейм данных из списка, дело в том, что имя моего столбца также есть в списке.

Список:

['Input_file_column_name,Is_key,Config_file_column_name,Value\nEmployee ID,Y,identifierValue,identityTypeCode:001\nCumb ID,N,identifierValue,identityTypeCode:002\nFirst Name,N,first_Name \nLast Name,N,last_Name   \nEmail,N,email_Address   \nEntityID,N,entity_Id,entity_Id:01\nSourceCode,N,sourceCode,sourceCode:AHRWB\n']

Результирующий кадр данных:

Input_file_column_name Is_key Config_file_column_name                 Value
0            Employee ID      Y         identifierValue  identityTypeCode:001
1                Cumb ID      N         identifierValue  identityTypeCode:002
5               EntityID      N               entity_Id          entity_Id:01
6             SourceCode      N              sourceCode      sourceCode:AHRWB

Как преобразовать его?Преобразовать ли я список в словарь и затем сделать это или есть способ сделать это напрямую?

Код:

import pandas as pd
with open('onboard_config.txt') as myFile:
  text = myFile.read()
result = text.split("regex")
print result 

df=pd.DataFrame[[sub.split(",") for sub in result]]

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018
    split=list[0].split('\n')
    df= []
    for i in split:
        df.append(i.split(','))

    columns= df[0]
    df=df[1:]
    pd.DataFrame(df, columns=columns)

Это даст вам желаемый DF.

0 голосов
/ 07 декабря 2018

Похоже, вам нужно splitlines, а затем преобразовать в Series.str.split

df=pd.Series(l[0].splitlines()).str.split(',',expand=True).T.set_index(0).T.dropna()
df
Out[1183]: 
0 Input_file_column_name          ...                          Value
1            Employee ID          ...           identityTypeCode:001
2                Cumb ID          ...           identityTypeCode:002
6               EntityID          ...                   entity_Id:01
7             SourceCode          ...               sourceCode:AHRWB
[4 rows x 4 columns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...