Python附加到没有白线的csv文件

标签 python python-2.7 csv

我正在用 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.0

player1,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);

最佳答案

Python 3:

with open('data.csv', 'a', newline='') as fp:
    for player in self.players:
        a = csv.writer(fp, delimiter=',');
        data = [[player.name, player.penalty(), player.score()]];
        a.writerows(data);

对于 python 3,CSV 模块发生了变化,您可以阅读 here

Python 2.x:

只需将 open() 更改为二进制 open('data.csv', 'ab')

您可以使用以下方式设置控件引用:

csv.writer(fp, delimiter=',',quoting=csv.QUOTE_MINIMAL)

根据文档,您的选择是:

csv.QUOTE_ALL Instructs writer objects to quote all fields.

csv.QUOTE_MINIMAL Instructs writer objects to only quote those fields which contain special characters such as delimiter, quotechar or any of the characters in lineterminator.

csv.QUOTE_NONNUMERIC Instructs writer objects to quote all non-numeric fields.

Instructs the reader to convert all non-quoted fields to type float.

csv.QUOTE_NONE Instructs writer objects to never quote fields. When the current delimiter occurs in output data it is preceded by the current escapechar character. If escapechar is not set, the writer will raise Error if any characters that require escaping are encountered.

关于Python附加到没有白线的csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21432610/

相关文章:

python - 将字典元组转换为嵌套字典

python - Opencv2 : Python: cv2. 视频编写器

python - 如果在 for 循环中,如何在单行中使用 "continue"

python-2.7 - 安装位于 Github 上的 Python 包

python - 将字典数组转换为具有潜在不匹配字段名的二维数组

javascript - 带有传单和杂食动物的 csv 聚类标记

excel - 使用 Python 将值列表写入不同列中的 csv 文件

python - 缩小 Matplotlib

python - 根据给定的概率有效地变异二进制字符串中的字符

django - 如何在 AWS Elastic Beanstalk 上使用 virtualenv system-site-packages?