在Python中将逗号分隔的序列从DataFrame读取为字符串

时间:2018-11-23 07:40:52

标签: python pandas

我有一个DataFrame df ,其中有一个[Main]列,如下所示:

[Main]
Label1_Dim=    
Label1_Formula= PP    
Label2_Name= Customer 
Label2_Value= Tech Service, INC    
Label2_Dim=

我要存储行 Label2_Value= Tech Service, INC放在字符串中,更准确地说就是
Tech Service, INC部分。

pos_customer=df[df['[Main]'] == 'Label2_Name= Customer']
pos_customer_index = pos_customer.index
customer = df.iloc[pos_customer.index[0]+1]['[Main]']

customer=customer[13:]

我的代码找到上一行,将下一行存储在字符串中,并去除前13个字符,这些字符应导致customer = "Tech Service, INC"

但是逗号似乎存在问题。通常,此代码对我有用,但在逗号中仅跳过该行而转至Label2_DIM=。我不知道为什么,我也尝试了python split()方法,但我没有解决。

我希望你们能帮助我。

1 个答案:

答案 0 :(得分:2)

如果我理解您的问题,那么下面的内容应该对您有用。

示例DataFrame:

>>> df
                              Main
0            Label2_Name= Customer
1  Label2_Value= Tech Service, INC

假设只需要=之后的字符串,然后尝试使用replace的{​​{1}}方法,如下所示:

regex

如果要替换该特定的(>>> df.Main.replace(r'.*=', '', regex=True) 0 Customer 1 Tech Service, INC Name: Main, dtype: object )行,则:

Label2_Value= Tech Service, INC

没有正则表达式仅与>>> df.Main.replace(r'^Label2_Value=', '', regex=True) 0 Label2_Name= Customer 1 Tech Service, INC <--- here it is Name: Main, dtype: object

replace