所以基本上我有一個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)
如果您不想指定您可以避開的分隔符:'left,right = line.partition(',')[:: 2]' –
這裏是沒有正則表達式的一個解決方案(假設你有一個行的字符串稱爲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)
假設文本中的每一行都是完整的CSV行,錯了,並且假定文件中的每個'''是分隔的字段也是錯誤的。它可以用於簡單的情況,但這不是應該如何解析CSV文件。 – Havenard
如果在CSV串領域有着','作爲其數據的一部分?如果它有'\ n'呢? RegEx可能對此不太好。在混淆內容之前,您必須使用正確的CSV文件解析器。 – Havenard