所以基本上我有一个类似的CSV:
121\sdf\ 34 4333DSssD,23233,TECH,32, ...
第一个字符串是 ID,但它应该有 + 而不是空格。它们被修剪掉了,所以现在在每一行直到第一个逗号我需要用 + 替换任何空格。
正在考虑为此使用正则表达式和 re.sub (使用 python 处理),但只能获取空格。
希望 StackOverflow 可以提供帮助:D
所以基本上我有一个类似的CSV:
121\sdf\ 34 4333DSssD,23233,TECH,32, ...
第一个字符串是 ID,但它应该有 + 而不是空格。它们被修剪掉了,所以现在在每一行直到第一个逗号我需要用 + 替换任何空格。
正在考虑为此使用正则表达式和 re.sub (使用 python 处理),但只能获取空格。
希望 StackOverflow 可以提供帮助:D
这可以在没有正则表达式的情况下完成;只需在逗号上进行分区并操作左侧分区
with open('path/to/input') as infile:
for line in infile:
left, comma, right = line.partition(',')
print "%s%s%s" %(left.replace(' ', "+"), comma, right)
这是一种没有正则表达式的解决方案(假设您有一个带有单行的字符串,称为line
,这可能是在for
迭代文件对象的循环内):
pieces = line.split(',', 1)
pieces[0] = pieces[0].replace(' ', '+')
line = ','.join(pieces)
或者使用正则表达式:
import re
line = re.sub(r'^[^,]*', lambda m: m.group(0).replace(' ', '+'), line)