简体   繁体   English

将字符串(管道分隔)转换为 Pandas 中的 df

[英]Convert String(pipe delimited) to a df in Pandas

I have the below string(pipe delimited) and I'm trying to convert it into a df in pandas but failing, could you guys help me我有以下字符串(管道分隔),我正在尝试将其转换为 pandas 中的 df 但失败了,你们能帮帮我吗

list = 'PP_AACD_NR_D8706_TIHIBRIDA_PROC_EXCUC_D|PP_AACE_R4539_BACEN|PP_AACE_R4539_CARGA_INT|PP_AACE_R4539_CONS_JUNC|PP_AACE_R4539_FMRC_TD_01'

I tried some things, and none has worked:我尝试了一些东西,但都没有奏效:

df1 = pd.DataFrame(list)

also:还:

from csv import reader
df=pd.DataFrame( list(reader(list)))

and other things, what I'm trying to achieve is a df like this:和其他事情,我想要实现的是这样的df:

column_name
PP_AACD_NR_D8706_TIHIBRIDA_PROC_EXCUC_D
PP_AACE_R4539_BACEN
PP_AACE_R4539_CARGA_INT
PP_AACE_R4539_CONS_JUNC
PP_AACE_R4539_FMRC_TD_01

You need split the string by |您需要将字符串拆分为| into list进入列表

df = pd.DataFrame({'column_name': list.split('|')})
print(df)

                               column_name
0  PP_AACD_NR_D8706_TIHIBRIDA_PROC_EXCUC_D
1                      PP_AACE_R4539_BACEN
2                  PP_AACE_R4539_CARGA_INT
3                  PP_AACE_R4539_CONS_JUNC
4                 PP_AACE_R4539_FMRC_TD_01

You can try this:你可以试试这个:

lst = lst.split('|')
df = pd.DataFrame({'column_name': lst})
print(df)

You need to splityour str by the '|'你需要用'|'分割你的str delimiter like:分隔符如:

import pandas as pd

l = 'PP_AACD_NR_D8706_TIHIBRIDA_PROC_EXCUC_D|PP_AACE_R4539_BACEN| \
    PP_AACE_R4539_CARGA_INT|PP_AACE_R4539_CONS_JUNC|PP_AACE_R4539_FMRC_TD_01'

df = pd.DataFrame(l.split('|'), columns=['col_1'])

print(df)

output: output:

                                     col_1
0  PP_AACD_NR_D8706_TIHIBRIDA_PROC_EXCUC_D
1                      PP_AACE_R4539_BACEN
2                  PP_AACE_R4539_CARGA_INT
3                  PP_AACE_R4539_CONS_JUNC
4                 PP_AACE_R4539_FMRC_TD_01

Also avoid using generic names as the names of your variables,it might resort to some issues (like: list, dict, ...)还要避免使用通用名称作为变量的名称,这可能会导致一些问题(例如:list、dict、...)

First of all, don't use a builtin name list .首先,不要使用内置名称list You can split your pipe-delimited string using .split()您可以使用.split()拆分以管道分隔的字符串

For example:例如:

split_list = a.split("|")

This will give you a list with all the desired column names.这将为您提供一个包含所有所需列名的列表。 From there you can create your Dataframe.从那里您可以创建您的 Dataframe。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM