[英]split the text by first occurrence and last occurrence of dash [-] in column of csv file using python
example.csv
row
india - manager- intel
india -sales-manager-amazon
banglore -ccm- head - county- jp morgan
我使用的代碼
df = pd.read_csv("example.csv", sep=',')
v = df.pop('row').str.split('-', expand=True)
v.columns = ['location', 'position', 'company']
預期產量
location position company
india manager intel
india sales-manager amazon
banglore ccm- head - county jp morgan
數據
行
英國西薩塞克斯郡伯吉斯山-全球消費者技術高級副總裁兼首席信息官-英國倫敦美國運通-技術副總裁-工作流程與運營與創始人-英國霍加斯環球阿伯丁-高級特別核心分析顧問/技術專家-英國倫敦COREX集團-英國倫敦ED,股票衍生技術-英國倫敦摩根士丹利-集團技術首席商務官-英國薩里BP Staines-策略與建築IS小組負責人-英國,英國西薩塞克斯郡中央-技術副總裁-美國運通
您可以通過第一次出現分隔符split
rsplit
與split
一起使用:
df[['location','position']] = df.pop('row').str.split('-', n=1, expand=True)
df[['position','company']] = df['position'].str.rsplit('-', n=1, expand=True)
print (df)
location position company
0 india manager intel
1 india sales-manager amazon
2 banglore ccm- head - county jp morgan
使用單個pandas.Series.str.split()
動作:
tmp_df = df.pop('row').str.split('-')
df['location'], df['position'], df['company'] = tmp_df.str[0], tmp_df.str[1:-1].str.join(sep='-'), tmp_df.str[-1]
print(df)
輸出:
location position company
0 india manager intel
1 india sales-manager amazon
2 banglore ccm- head - county jp morgan
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.