ent_clean_name_logistics.py 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. special_chars = ['.',
  2. ',',
  3. '-',
  4. '(',
  5. ')',
  6. '@',
  7. '?',
  8. '‘',
  9. '’',
  10. '“',
  11. '”',
  12. '`',
  13. '#',
  14. '+',
  15. '!',
  16. '$',
  17. '|',
  18. ':',
  19. '/',
  20. ';',
  21. '*',
  22. '《',
  23. '》',
  24. '<',
  25. '>',
  26. '%',
  27. '^',
  28. '_',
  29. '[',
  30. ']',
  31. '{',
  32. '}',
  33. '\\',
  34. '~',
  35. '=',
  36. '\'',
  37. '±',
  38. '°',
  39. '«',
  40. '»',
  41. 'µ',
  42. '¶',
  43. '·',
  44. '€',
  45. '£',
  46. '¥',
  47. '¢',
  48. '×',
  49. '÷',
  50. '¬',
  51. '…',
  52. '→',
  53. '←',
  54. '↑',
  55. '↓',
  56. '↔',
  57. '⇒',
  58. '⇐',
  59. '≈',
  60. '≠',
  61. '≤',
  62. '≥',
  63. '.',
  64. ',',
  65. '-',
  66. '(',
  67. ')',
  68. '@',
  69. '?',
  70. '"',
  71. '\'',
  72. '#',
  73. '+',
  74. '!',
  75. '$',
  76. '|',
  77. ':',
  78. '/',
  79. ';',
  80. '*',
  81. '<',
  82. '>',
  83. '%',
  84. '^',
  85. '_',
  86. '[',
  87. ']',
  88. '{',
  89. '}',
  90. '\',
  91. '~',
  92. '¨',
  93. '´',
  94. '',
  95. '¿',
  96. '‰',
  97. '¯',
  98. '\x1A',
  99. '£',
  100. '>',
  101. '¿',
  102. '«',
  103. '´',
  104. '»',
  105. '°',
  106. '®',
  107. '·',
  108. '¼',
  109. '©',
  110. '¶',
  111. "'",
  112. '"',
  113. '–',
  114. '='
  115. ]
  116. special_char_dict = {c: ' ' for c in set(special_chars)}
  117. special_char_dict['&'] = ' and '
  118. special_char_dict['&'] = ' and '
  119. special_chars_trans = str.maketrans(special_char_dict)
  120. multi_char_replacements = {
  121. 'Ï ½Ï ½Ï ½': ' ',
  122. 'Ï ½Ï ½': ' '
  123. }
  124. def clean_company_name(name):
  125. if name:
  126. for multi_char, replacement in multi_char_replacements.items():
  127. name = name.replace(multi_char, replacement)
  128. # 特殊字符替换为空格
  129. name = name.translate(special_chars_trans)
  130. # 转大写,去除连续空格,去除首尾空格
  131. name = ' '.join(name.upper().split())
  132. return name
  133. else:
  134. return None
  135. if __name__ == "__main__":
  136. print(clean_company_name('BOLLORE LOGISTICSÏ ½Ï ½Ï ½ DUNKERQUE'))