作者jakeasa123 (啊斑斑)
看板Python
标题[问题] file.write 失效
时间Thu Sep 22 20:34:04 2016
如题。
最近在写一个程式,他的功能是比对两个.csv文件中的内容,在特定栏位中有所关系的则是需要的,将该内容抓出来并记录到新的.csv档中。
但是不知道为什麽,在写档(file.write)的部分,总是不会执行,但如果把主要的判断部分移开却会执行……在想可能是我判断的部分或记录资料的部分有出问题,但找了一段时间都找不到。
之前有写过一个类似功能但找寻资料和判断方式略有不同的程式,可以正常运作,此篇也是沿用那个程式的程式码。
*
程式码:
http://paste.ofcode.org/TtW9zF24BLKK49puM226UF
↑ 短网址:
https://goo.gl/fg1c09
程式码(前一个可正常运作的程式):
http://paste.ofcode.org/F2TwhWpWCH7yYirFy53GYg
↑ 短网址:
https://goo.gl/sTJ77g
*
目前,出问题的那个程式能否正常判断还不知道,但在判断之前的:
wFile.write("cardNo,in_tTime_1_hr,in_tTime_1_min,out_tTime_2_hr,out_tTime_2_min,routeNo_1,routeNo_2,")
wFile.write("entryStationID_1,exitStationID_1,entryStationID_2,exitStationID_2,D_1,D_2,waitTime,")
wFile.write("totalDis,totalTime\n")
这一段的write就已经失效了,而後面用於确认的print("-1")则会正常运作,甚至是两个while中加入print也能正常运作。
倘若把while整个移除,则上述的write才会正常加入档案中……
我花了很多时间寻找问题,但都没能找到问题点,希望有前辈可以指点一下Q_Q
(我知道这个回圈会重覆抓到同样的结果,但急着抓出结果暂时不打算修正,後续会用Excel清掉重覆出现的结果)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.134.106.248
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1474547649.A.67F.html
1F:→ Typebrook: 你的写法,若csv档第一栏是空白,会提早跳出while loop 09/23 00:43
2F:→ Typebrook: 然後也要记得将fileALL.close()加入loop的结尾 09/23 01:01
3F:→ jakeasa123: 先谢谢前辈回应。两个资料csv档都确定有资料,除非前 09/23 16:43
4F:→ jakeasa123: 辈是指要加入资料的wFile指向的那个result.csv。 09/23 16:44
5F:→ jakeasa123: fileALL.close稍後会去调整(刚上完课Q_Q") 09/23 16:44
6F:→ BigBank: 'w' 每次写入都会从新档写入 而不是加在原本的後面 09/23 22:28
7F:→ BigBank: 一直盖过去 应该只有56行的write会被留下来 09/23 22:29
8F:→ BigBank: 不知道这是不是你的问题 (如果要加在後面 用'a') 09/23 22:29
9F:→ Typebrook: 若有再while loop内使用open()写入档案,第二个参数可 09/23 22:29
10F:→ Typebrook: 加'a',不过你贴的code应该OK的 09/23 22:31
11F:→ BigBank: 抱歉 我发现我搞错了 当我没说QQ 09/23 22:37
12F:→ jakeasa123: 感谢各位的回应,後来调整很久才发现是csv里面有些字 10/06 00:48
13F:→ jakeasa123: 元会让程式炸掉(像是"),移除後同时改用print再复制贴 10/06 00:48
14F:→ jakeasa123: 上到记事本就没问题了(後来再调整後测试write也没问题 10/06 00:48
15F:→ jakeasa123: )。感谢各位! 10/06 00:48