我有一个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()方法,但我没有解决。
我希望你们能帮助我。
答案 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