python - 使用正则表达式将引号添加到分隔列表
问题描述
我有一个要转换为熊猫数据框的复制列表。但是,当我复制测试时,我得到的是原始值而不是字符串。即
foo, bar, buzz
,而不是" foo", "bar", "buzz"
列表,然后以我不想用引号括起来的数字结尾。我能够选择 2 个逗号之间的文本,包括一个逗号 using ,[^,]+
,但我不想包含逗号,因为我想用引号包裹的版本替换里面的文本。我不能简单地从正则表达式中排除数字,即,[^,0-9]+
因为某些类别中嵌入了数字(例如 iPhone-6s 或 Toyota Rav4)。我将如何做到这一点?
解决方案
假设您的 CSV 输入是单个字符串,您可以尝试:
inp = "foo, bar, buzz, make-model"
output = re.sub(r'\b([\w-]+)\b', '"\\1"', inp)
print(output)
这打印:
"foo", "bar", "buzz", "make-model"
推荐阅读
- java - java - 如何在不保存Excel工作表的情况下从Java中的Excel工作表中读取动态变化的值
- windows - 使用 vmtkimagereader 读取 Dicom 文件时出错
- android - 在android中显示图像和视频
- python - 如何将secondary_y轴添加到绘图?
- r - 如何在 r shiny 中从 quandl 中动态提取数据?
- mysql - 使用 GROUP BY 时的复杂条件列
- javascript - 实现下拉单击忽略选项
- c# - 用字符串中的单个字符修剪重复字符
- javascript - Eclipse - 未定义的属性名称警告
- sql - SQL 错误 (102):“=”附近的语法不正确