我正在用python编写一个游戏。在游戏的每一轮(是的,游戏有多轮)之后,我想将数据写入CSV文件。
这是我的代码:
with open('data.csv', 'a') as fp:
for player in self.players:
a = csv.writer(fp, delimiter=',');
data = [[player.name, player.penalty(), player.score()]];
a.writerows(data);
CSV文件中此代码的输出(两轮后)为:
player1,10,10.0
player2,5,5.0
player1,20,15.0
player2,10,7.5
问题是,每次脚本将数据追加到csv文件时,数据之间都有一条白线。我只想在回合之间加一条白线。所以输出应该如下所示:
player1,10,10.0
player2,5,5.0player1,20,15.0
player2,10,7.5
我有办法做到这一点吗?
我的新工作代码:
with open('take5.csv', 'ab') as fp:
for player in self.players:
a = csv.writer(fp, delimiter=',');
data = [[player.name, player.penalty(), player.score()]];
a.writerows(data);
white_row = ['\n'];
a.writerows(white_row);
Python3:
在python 3中,CSV模块有一些变化,您可以读取here
Python2.x:
把
open()
改成二进制open('data.csv', 'ab')
您可以使用以下方法设置控制报价:
csv.writer(fp, delimiter=',',quoting=csv.QUOTE_MINIMAL)
从文档中可以选择:
相关问题 更多 >
编程相关推荐