我需要正则表达式和正则表达式函数的帮助!我有一个用';‘分隔的CSV文件,需要替换为_。数据如下所示:
79 80;0;RueSaint_Hilaire;Locale;15-25;1;1
80 81;0;RueSaint_Hilaire;Locale;5-10;5;5
81 82;0;RueTaillon;Locale;10-15;1;1
82 83;0;RueTanguay;Locale;10-15;2;2
83 84;0;RueTanguay;Locale;15-25;2;2
84 85;0;RueTanguay;Locale;5-10;3;3 例如,我需要将15-25替换为15_25。
到目前为止,我已经尝试过了:
df.replace('-','_', inplace=True)或者这样:
df_obj = df.select_dtypes(['object'])
df[df_obj.columns] = df_obj.apply(lambda x: x.str.strip())
df.replace('-','_', inplace=True)
print(df)没有任何成功。任何正则表达式或替换向导都可以解决这个小问题?
非常感谢!
发布于 2019-03-12 02:11:08
这是我能想到的最简单的实现:
with open(<PATH TO FILE>, 'r') as fileIn:
data = fileIn.read()
print("\nOriginal data: \n", data)
data = data.replace('-', '_')
print("Modified data: \n", data)这给出了:
Original data:
80,0,RueSaint-Hilaire,Locale,15-25,1,1
81,0,RueSaint-Hilaire,Locale,10-May,5,5
Modified data:
80,0,RueSaint_Hilaire,Locale,15_25,1,1
81,0,RueSaint_Hilaire,Locale,10_May,5,5发布于 2019-03-12 01:39:06
默认情况下为regex=False。因此,在您现有代码中,使用正则表达式替换为regex=True和inplace=True。请参阅replace
df.replace('-', '_',regex=True, inplace=True)
print(df)发布于 2019-03-12 01:37:18
通常,我会这样做:
df['Col'] = df['Col'].str.replace('-', '_')https://stackoverflow.com/questions/55107308
复制相似问题