給出一個簡單的CSV文件是這樣的:Python和CSV;如何截斷列中的所有值?
Django,Gunslinger,101-707
KingSchultz,Dentist,205-707
Tatum,Marshall,615-707
Broomhilda,Wife,910-707
...,...,...
你如何截斷在最後一列中的所有值,以便只有前三位依然? (無關:這樣他們就可以在數學運算中使用)
期望CSV:
Django,Gunslinger,101
KingSchultz,Dentist,205
Tatum,Marshall,615
Broomhilda,Wife,910
...,...,...
這裏是我到目前爲止已經試過:
import csv
import re
r = csv.reader(open(input.csv))
for row in r:
re.sub('\-.*', '', row[3])
writer = csv.writer(open('output.csv', 'w'))
writer.writerow(row)
我在re.sub
驗證regex
正常工作。已經嘗試了幾十個變體,搜索了很多小時,但無法獲得所需的輸出。
測試了Python 2.7.6和3.4.3的工作。謝謝@ praba230890。我編輯了答案,以包含一個簡單的錯誤,可能會讓Python 3.4.3上的其他人感到困惑。 – TigerRedMike
你能解釋'[:3]'的語法嗎? – TigerRedMike
它是字符串切片,[:3]切片字符串的前3個字符並返回它。看看https://docs.python.org/3/tutorial/introduction.html#strings – praba230890