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,那么所有输出文本都是采用 作为换行符。如果设置为’’或者 时,不作任何的替换动作。如果是其它字符,会在字符后面添加 作为换行符。

  • 相关阅读:
    容斥原理
    m元集A到n元集B的满射的个数
    二项式反演公式
    多项式定理
    组合数的基本性质
    Luogu P2408 不同子串个数
    Luogu P5410【模板】扩展 KMP
    Luogu P2336 [SCOI2012]喵星球上的点名
    Luogu P2852 [USACO06DEC]牛奶模式Milk Patterns
    Luogu P4248 [AHOI2013]差异
  • 原文地址:https://www.cnblogs.com/meitian/p/4625011.html
Copyright © 2011-2022 走看看