python - 如何在逗号前保留空格?
问题描述
我正在尝试从数据框中获取某个列,但由于 Python 处理字符串的方式,我不能。我的问题是 Python 会自动删除逗号前的空格。例如,我要获取的列是“侵袭性肺炎球菌病,年龄 LT 5†,可能”,但 Python 会将其处理为“侵袭性肺炎球菌病,年龄 LT 5†,可能”,因此我无法访问它给定的列。由于其他复杂情况,我不能简单地更改列名。有没有一种方法可以强制 Python 保持我的字符串不变而不删除那个空格?
输入:
df["Invasive Pneumococcal Disease, Age LT 5† , Probable"]
输出:
'Invasive Pneumococcal Disease, Age LT 5†, Probable'
解决方案
(([^\x00-\x7F]|\w)+)这将找到所有 Unicode 和 ASCII 单词。
所以逻辑是,找到所有 ASCII/Unicode 单词,它们有一个文字空格\s
,后跟一个逗号,然后又是一个文字 whitespace \s
,在发现用逗号后跟一个空格替换第一个捕获的组之后。
用于查找上述内容的正则表达式。
这是代码:
import re
str = "Invasive Pneumococcal Disease, Age LT 5† , Probable"
def normalize_comma_endings(matchobj):
ascii_unicode_words_pattern = r"(([^\x00-\x7F]|\w)+)"
base_word = re.findall(ascii_unicode_words_pattern, matchobj.group(1))
return "{}, ".format(base_word[0][0])
comma_endings_pattern = r"(([^\x00-\x7F]|\w)+\s,\s)"
res = re.sub(comma_endings_pattern, normalize_comma_endings, str)
print(res)
推荐阅读
- oracle - 在 Oracle 中一次更新 2 个表
- python - 将枕头 Image 对象转换为 JpegImageFile 对象
- java - 如何使用 angular.js 和 java 使用大文件逐块下载大文件
- reactjs - 我的组件没有渲染,为什么?
- jenkins - Jenkins 构建失败,因为它在执行 junit 测试时正在寻找 logback.xml 中定义的日志路径
- c - 如何编写测试用例来验证 linux 中 sem_wait 函数返回的 EINTR
- angular - Angular 5和动画向右滑动
- javascript - Safari 没有停止 CSS3 动画
- python - 使用两个不同的python版本(Django App)的apache2中的WSGI错误
- c++ - 防止 GNU Make 在每次构建时生成 protobuf 代码