如何在CSV文件中查找字符串并将单元格替换为新值?

时间:2019-04-01 22:54:32

标签: python file csv replace

我有一个从API中提取的NBA统计数据的CSV文件,但是它们列出主场和客场比赛的方式与我所做的工作不兼容。我希望能够用“ AWAY”和“ vs”替换具有字符“ @”的列中的整个单元格值。与“ HOME”。有没有办法写一个简短的python脚本来做到这一点?

Example data

对于具有“ BOS vs. PHI”的单元格值,我希望将其更改为“ HOME”。

对于具有“ BOS @ PHI”的单元格值,我希望将其更改为“ AWAY”。

1 个答案:

答案 0 :(得分:0)

使用以下内容:

import pandas as pd

df['LOCATION'] = 'HOME'
df.LOCATION[df.MATCHUP.str.contains('@')] = 'AWAY'

print(df)

输出:

       MATCHUP LOCATION
0  BOS vs. PHI     HOME
1  GSW vs. OKC     HOME
2    OKC @ GSW     AWAY
3    PHI @ BOS     AWAY
4    ATL @ NYK     AWAY

要替换“ MATCHUP”列中的值,请改用此方法:

df.MATCHUP[df.MATCHUP.str.contains('@')] = 'AWAY'
df.MATCHUP[df.MATCHUP.str.contains('vs.')] = 'HOME'

print(df)

输出:

  MATCHUP
0    HOME
1    HOME
2    AWAY
3    AWAY
4    AWAY