堅持的是分享,搬運的是知識,圖的是大家的進步,沒有收費的培訓,沒有虛度的吹水,喜歡就關注、轉發(免費幫助更多夥伴)等來交流,想了解的知識請留言,給你帶來更多價值,是我們期待的方向,有更多興趣的歡迎切磋,我們微信訂閱號,聯繫方式如下:
更多書籍,敬請期待
背景說明
看看接口測試框架的神祕,小怪帶領着大家一起開始第4課,希望能看完知識點,自己動手練習,然後和給出的例子代碼對比,最後看看作業感悟篇,本期是第4課,對應的作業是第3題,想學的就往下看吧
1作業內容
題目3:讀取csv文件的前3列的內容(多行),並把前三列的內容全部寫入到第4列中(之間用+分割)
2相關知識點
ppt資料:
原件獲取地址:
鏈接:http://pan.baidu.com/s/1ge6gsVp 密碼:iy5z
3參考例子一
代碼較長,獲取地址:
鏈接:http://pan.baidu.com/s/1ge6gsVp 密碼:iy5z
4作業感悟
這次作業要求讀取csv文件的前3列的內容(多行),並把前三列的內容全部寫入到第四列中(之間用+分割)。
之前已經解決了讀取中文文件名的問題,讀取上就照搬之前代碼了。
在網上搜索了可以直接修改文件的方法,不需要讀取文件保存新文件覆蓋原文件,使用fileinput.input參數設置爲inplace=1就可以了。
接下來是兩個小處理:
1、使用line.strip('\n')去掉讀取的行尾的換行符。
2、使用fileinput.isfirstline()判斷是否是首行,跳過處理。
字符串處理的部分,我本來是用正則表達式,對整行字符串進行匹配處理,通過後向引用的圓括號,整合了數據後輸出。
line = re.sub(r'(\d),([TF]),([^,]*)', line +r'\1+\2+\3', line)
後來在我問謝映海爲什麼第二行csv文件有多餘的逗號,我還因此額外對其做了判斷處理。看到了謝映海是分割後讀取了數據,再整合在一起的。我認爲這樣處理比較好,於是我也修改了我的方法。
使用 line.split(,)方法將字符串根據逗號進行分割,再按照要求把前三列寫入第四列(就是按需求將字符串連接)。
line = line_split[0] + "," + line_split[1]+ "," + line_split[2] + "," + line_split[0] + "+"+ line_split[1] + "+" + line_split[2]
最後是 print(line)的方法,在fileinput.input實際是寫入文件而非打印。再輸出log以及關閉文件就完成了。
到此,我們第4課,第3次作業,需要的知識點和參考的樣例全部奉獻出來了,action起來!
↓↓↓ 點擊"閱讀原文" 【查看更多信息】