我有一个非常基本的问题。我正在学习一般使用python&;脚本的第一步,因此即使这样,我也会想:
我要将行读写到新文件:
ifile=open("C:\Python24\OtsakkeillaSPSS.csv", "r")
ofile = open("C:\Python24\OtsakkeillaSPSSout.csv", "w")
#read first line with headers
line1 = ifile.readline()
print line1
#read following lines which contain data & write it to ofile
for line in ifile:
if not line:
break
ofile.write(line)
如果我把这个打印到屏幕上,我会把所有的线条都处理得很好:
0,26100,568,8636
0,11130,555,**3570
0,57100,77,2405**
0,60120,116,1193
0,33540,166,5007
0,95420,318,2310
0,20320,560,7607
0,4300,692,3969
0,65610,341,2073
0,1720,0,0
0,78850,228,1515
0,78870,118,1222
如果我写信给我的话,我会漏掉15行:
0,6100,948,8332
0,26100,568,8636
0,11130,555
如果有人能指出我不明白的是什么,我将不胜感激?
注册
贾尼
“if not line:”—不需要检查。
您应该根据python docs调用ofile.close()。
我不确定是否在没有显式关闭的情况下将写操作完全刷新到文件中。
另外,正如silenghost所提到的,检查输入文件中的空行。
正如stefanw在下面提到的,“如果。。在for-in中不需要break语句。
相关问题 更多 >
编程相关推荐