zoukankan      html  css  js  c++  java
  • Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行的问题

    问题:csv.writer().writerow()保存的csv文件,打开时每行后都多一行空行

    解决方法:在open()内增加一个参数newline='' 即可
     
    问题现象:
     
    1.代码
    with open("C:\Users\XXX\Desktop\redis_log2.csv","w") as datacsv:
    csvwriter = csv.writer(datacsv,dialect=("excel"))
    csvwriter.writerow(["time","us","sy","cl","bcl","mem","rss","keys","cmd/s","exp/s","evt/s","hit%/s","hit/s","mis/s","aofcs"])
    for info in parsecsv:
    csvwriter.writerow([info["time"],info["us"],info["sy"],info["cl"],info["bcl"],info["mem"],info["rss"],info["keys"],info["cmd/s"],
    info["exp/s"],info["evt/s"],info["hit%/s"],info["hit/s"],info["mis/s"],info["aofcs"]])
    2.导出的CSV用Excel打开:
    


    更改好后的
    1.代码

    with open("C:\Users\XXX\Desktop\redis_log2.csv","w", newline='') as datacsv:
        csvwriter = csv.writer(datacsv,dialect=("excel"))
    csvwriter.writerow(["time","us","sy","cl","bcl","mem","rss","keys","cmd/s","exp/s","evt/s","hit%/s","hit/s","mis/s","aofcs"])
    for info in parsecsv:
    csvwriter.writerow([info["time"],info["us"],info["sy"],info["cl"],info["bcl"],info["mem"],info["rss"],info["keys"],info["cmd/s"],
    info["exp/s"],info["evt/s"],info["hit%/s"],info["hit/s"],info["mis/s"],info["aofcs"]])
    2.导出的CSV用Excel打开:
    
    
     
     
    对newline参数的解释:

    参数newline是用来控制文本模式之下,一行的结束字符。可以是None,’’, , , 等。

    当在读取模式下,如果新行符为None,那么就作为通用换行符模式工作,意思就是说当遇到 , 或 都可以作为换行标识,并且统一转换为 作为文本输入的换行符。当设置为空’’时,也是通用换行符模式工作,但不作转换为 ,输入什么样的,就保持原样全输入。当设置为其它相应字符时,就会判断到相应的字符作为换行符,并保持原样输入到文本。

    当在输出模式时,如果新行符为None,那么所有输出文本都是采用 作为换行符。如果设置为’’或者 时,不作任何的替换动作。如果是其它字符,会在字符后面添加 作为换行符。

  • 相关阅读:
    C#小数点位数处理方法
    C#获取硬盘空间信息
    Linux双网卡绑定实现负载均衡
    CentOS、Ubuntu配置网卡子接口
    CentOS7修改网卡名称,禁用ipv6
    centos命令自动补全增强
    使用批处理文件访问ORACLE数据库
    Mac 常用终端命令
    常用正则表达式
    pickle 模块
  • 原文地址:https://www.cnblogs.com/meitian/p/4625011.html
Copyright © 2011-2022 走看看