我试图找到一种方法来替换字符串中的html语法。我得到了很多csv文件,所以我发现pandas是一个很好的工具来处理csv。
有时我会收到嵌入字符串中的html语法的数据,例如在地址栏中,我看到125끈 downing st
,即125-128 downing st
。它不仅1
,还有'
和&
,'
和&
。
我尝试使用此代码,但我知道它没有给我正确的格式
df = df.replace(r'[-]','-', regex=True)
我得到了几个列,例如商家名称,地址,城市,州 - 所以我想定位所有列只是为了确保删除/替换所有html语法
数据框格式
Address 1 Company
0 1stDŽst Avenue N johnson & johnson
1 243񯂐 Kingsway Ave cold & brew
2 300 Hwy 7 coder's club
所需格式
Address 1 Company
0 1st-2st Avenue N johnson and johnson
1 243-4800 Kingsway Ave cold and brew
2 300 Hwy 7 coder's club
我是熊猫的新手,但我很喜欢这个工具。谢谢你的帮助。
更新:
好的,我发现我使用的代码存在错误,df = df.replace(r'[-]','-', regex=True)
应为df = df.replace(r'-','-', regex=True)
;这将取代那个html语法。但是我仍然想找到解决这个问题的pythonic解决方案。
我很想做这个代码,以便删除其他的html语法。
df = df.replace(r'-','-', regex=True).replace(r''','', regex=True).replace(r'&','and', regex=True)
这行代码有一个干净的解决方案吗?
答案 0 :(得分:1)
为了给新人们留下答案,正如评论中所讨论的那样,可能的解决方案是:
df.replace([r'-', r''', r'&'], ['-', '', 'and'], regex=True)
或
df.replace({'-':'-', r''':'', '&':'and'}, regex=True)