我有一个 CSV 文件,其中有一列名为activity
其中有如下数据:
instv2-02_00001_20190517235008
instv2 (9)
Insti2(3)
Fbstt1_00001_20190517131933
我需要仅从“活动”列中的名称中删除数字和任何其他符号(例如:_)。
这意味着只需要保留字母。
例如instv3-02_00001_20190517235157
,
instv1-02_00000_20190517234840
、instv1 (4)...等都需要重命名/替换为instv。我怎样才能在Python脚本中做到这一点?
Using pandas
,加载 CSV 文件并应用正则表达式替换activity
列值。
试试这个代码:
import re
import pandas as pd
df = pd.read_csv('your_file.csv')
df['activity'] = df['activity'].apply(lambda x: re.sub(r'^([a-zA-Z]+).*', r'\1', x))
df.to_csv('output.csv', index=False)
如果它与你的问题有关here https://stackoverflow.com/questions/56890270/writing-to-csv-file-python-3-7,那么你只需要
导入 re 并将解决方案的最后一行更改为:
import re
# ...
all_df['activity'] = all_df['activity'].apply(lambda x: re.sub(r'^([a-zA-Z]+).*', r'\1', x))
all_df.to_csv('all_data.csv', index=False)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)