点击标题下「蓝色微信名」可快速关注
坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注、转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下:
更多书籍,敬请期待
背景说明
看看接口测试框架的神秘,小怪带领着大家一起开始第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起来!
推荐的文章
↓↓↓ 点击"阅读原文" 【查看更多信息】