我有一个包含如下数据的.txt文件:
1,Rent1,Expense,16/02/2010,1,4000,4000
1,Car Loan1,Expense,16/02/2010,2,4500,9000
1,Flat Loan1,Expense,16/02/2010,2,4000,8000
0,Rent2,Expense,16/02/2010,1,4000,4000
0,Car Loan2,Expense,16/02/2010,2,4500,9000
0,Flat Loan2,Expense,16/02/2010,2,4000,8000
我想替换第一项。如果它是1,意味着它应该保持不变,但是如果它是0,意味着我想把它改成1。因此,我尝试使用以下代码:
^{pr2}$但成功执行程序后,my.txt文件如下所示:
1,Rent1,Expense,16/02/2010,1,4000,4000
1,Car Loan1,Expense,16/02/2010,2,4500,9000
1,Flat Loan1,Expense,16/02/2010,2,4000,8000
0,Rent2,Expense,16/02/2010,1,4000,4000
0,Car Loan2,Expense,16/02/2010,2,4500,9000
0,Flat Loan2,Expense,16/02/2010,2,4000,8000
现在我要删除空行。是否有可能,或者是否有其他方法来替换0?在
您现有的代码实际上并没有像您所希望的那样更改行;
print a
如果a
没有实际定义,print a
不会做任何事情!因此,您只打印一个空行(即print a
位),然后打印现有的行,因此为什么您得到一个除了添加一些空行之外没有更改的文件。在print
在输入后添加一个额外的换行符,并且已经有一个换行符。您应该去掉现有的换行符(line.rstrip("\n")
),或者改用sys.stdout.write()
。在在打印之前,请使用
rstrip
删除后面的新行,或者使用sys.stdout.write
代替print
。在另外,如果只需要修改第一个元素,则不需要拆分整条线并再次连接它。只需在第一个逗号上拆分:
如果您想要更好的性能,您也可以直接测试
line[0]
的值。在相关问题 更多 >
编程相关推荐