首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python在csv文件中附加而不带白线

Python在csv文件中附加而不带白线
EN

Stack Overflow用户
提问于 2014-01-29 13:32:20
回答 2查看 17.2K关注 0票数 7

我在用蟒蛇写游戏。在每一轮游戏之后(是的,游戏有多轮),我想把数据写到CSV文件中。

这是我的密码:

代码语言:javascript
运行
复制
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文件中此代码的输出(经过两轮后)是:

玩家1,10,10.0 运动员2,5,5.0 运动员1,20,15.0 玩家2,10,7.5

问题是,每当脚本将数据附加到csv文件时,数据之间就会有一行白线。我唯一想加白线的时候是在两圈之间。因此,输出应该如下所示:

玩家1,10,10.0 运动员2,5,5.0 运动员1,20,15.0 玩家2,10,7.5

我有办法做到这一点吗?

我的新工作代码:

代码语言:javascript
运行
复制
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);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-29 13:35:55

Python 3:

代码语言:javascript
运行
复制
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);

使用python3,您可以在CSV模块中读取here

Python2.x:

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

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

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

作为文档,您的选项是:

csv.QUOTE_ALL指示编写器对象引用所有字段。 csv.QUOTE_MINIMAL指示编写器对象只引用那些包含特殊字符的字段,例如分隔符、商标符或行终止符中的任何字符。 csv.QUOTE_NONNUMERIC指示编写器对象引用所有非数字字段. 指示读取器将所有非引用字段转换为浮动类型。 csv.QUOTE_NONE指示编写器对象永远不要引用字段。当输出数据中出现当前分隔符时,它前面是当前转义符字符。如果未设置转义符,则如果遇到任何需要转义的字符,则写入器将引发错误。

票数 13
EN

Stack Overflow用户

发布于 2021-04-23 08:01:16

上面的答案不起作用。您应该使用行终止符来代替:

代码语言:javascript
运行
复制
for player in self.players:
                a = csv.writer(fp, delimiter=',',lineterminator='\n');

这既适用于python2也适用于3。

此外,报价选项应与引用字符一起使用。如果没有使用验证码,引用就过时了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21432610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档