我想将':'
,' '
,'-'
,'('
和')'
替换为此列表中的项目的下划线:
columns = ['Region', 'Cat', 'Bld', 'Fbld', 'Ht(m)', 'H:W', 'Fperv', 'Froof', 'wall type', 'roof type', 'road-type', 'Tmn', 'Tmx', 'Notes']
那样:
columns = ['Region', 'Cat', 'Bld', 'Fbld', 'Ht_m', 'H_W', 'Fperv', 'Froof', 'wall_type', 'roof_type', 'road_type', 'Tmn', 'Tmx', 'Notes']
目标是替换所有特殊字符和空格,以便可以将其读入sql表。谢谢你的帮助。
答案 0 :(得分:1)
由于您提供了特殊字符列表,您可以:
代码:
orig_list = ['Region', 'Cat', 'Bld', 'Fbld', 'Ht(m)', 'H:W', 'Fperv', 'Froof', 'wall type', 'roof type', 'road-type', 'Tmn', 'Tmx', 'Notes']
d = {ord(x):"_" for x in ":-() "}
new_list = [x.translate(d) for x in orig_list]
print(new_list)
结果:
['Region', 'Cat', 'Bld', 'Fbld', 'Ht_m_', 'H_W', 'Fperv', 'Froof', 'wall type', 'roof type', 'road_type', 'Tmn', 'Tmx', 'Notes']
经典的正则表达式解决方案作为替代方案:
import re
new_list = [re.sub("[:\-() ]","_",x) for x in orig_list]