1

所以基本上我有一个类似的CSV:

121\sdf\ 34 4333DSssD,23233,TECH,32, ...

第一个字符串是 ID,但它应该有 + 而不是空格。它们被修剪掉了,所以现在在每一行直到第一个逗号我需要用 + 替换任何空格。

正在考虑为此使用正则表达式和 re.sub (使用 python 处理),但只能获取空格。

希望 StackOverflow 可以提供帮助:D

4

2 回答 2

2

这可以在没有正则表达式的情况下完成;只需在逗号上进行分区并操作左侧分区

with open('path/to/input') as infile:
  for line in infile:
    left, comma, right = line.partition(',')
    print "%s%s%s" %(left.replace(' ', "+"), comma, right)
于 2013-08-23T20:09:28.213 回答
1

这是一种没有正则表达式的解决方案(假设您有一个带有单行的字符串,称为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)
于 2013-08-23T20:09:56.907 回答