问题: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,’’,\n,\r,\r\n等。

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

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

Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行的问题的更多相关文章

  1. csv模块简单使用

    json是一种嵌套了列表与字典的格式,json包可以读取返回的json格式,json.load(html返回的对象) csv模块,用来操作csv文件, import csv #from os impo ...

  2. Python csv模块的使用

    1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符.很多程序在 ...

  3. CSV模块

    Python csv模块的使用 1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数 ...

  4. CSV模块的使用

    1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符.很多程序在 ...

  5. python标准库:csv 模块

    原文地址:http://www.bugingcode.com/blog/python_csv.html csv 模块被用来读取CSV格式(用逗号分割数值)的数据文件,CSV格式的文件经常在微软的Exc ...

  6. python3使用csv模块读写csv文件

    python3使用csv模块读写csv文件 读取csv文件: import csv #打开文件,用with打开可以不用去特意关闭file了,python3不支持file()打开文件,只能用open() ...

  7. csv 模块的基本使用

    csv 模块专门用于读取和写入 csv 文件内容 以下主要讲在 python2 中的使用,在python3中有不同的地方,我会单独指出来 一般的excel表格可以保存为csv格式,然后就可以使用 cs ...

  8. Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块

    Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函 ...

  9. Pandas操作数据库及保存csv

    数据的保存 import pandas as pd import numpy as np from pandas import Series col_db = [['one',1,2,3,4,np.n ...

随机推荐

  1. ALGO-7_蓝桥杯_算法训练_逆序对

    出处:http://blog.csdn.net/enjoying_science/article/details/44114035 (有难度,以后回来填坑) 阅读代码中: #include<st ...

  2. 峰Spring4学习(2)依赖注入的几种方式

    一.装配一个bean 二.依赖注入的几种方式 com.cy.entity   People.java: package com.cy.entity; public class People { pri ...

  3. 跨域获取json数据

    原文地址:http://my.oschina.net/LinBandit/blog/34570   前阵子做了一个前端动态加载json数据的应用,其中使用xmlhttprequest动态加载js,但是 ...

  4. jquery粘贴操作

    今天忘记记录一个点了,关于input字体默认浅色,聚焦变深的问题. 图一,默认浅色 图二,聚焦出现下拉框“最近搜索”记录,点击“程序员” 图三,input值变为“程序员”,颜色没有变深(复制粘贴也不变 ...

  5. PHP PDO prepare()、execute()和bindParam()方法详解

    每次将查询发送给MySQL服务器时,都必须解析该查询的语法,确保结构正确并能够执行.这是这个过程中必要的步骤,但也确实带来了一些开销.做一次是必要的,但如果反复地执行相同的查询,批量插入多行并只改变列 ...

  6. pycharm下getpass.getpass()卡住

    pycharm下getpass.getpass()卡住不运行是什么问题 python pycharm 首先声明 下面这几行代码在命令行和eclipse下都能正常运行 import getpass pr ...

  7. ElasticSearch Document API

    删除索引库 可以看到id为1的索引库不见了 这里要修改下配置文件 slave1,slave2也做同样的操作,在这里就不多赘述了. 这个时候记得要重启elasticseach才能生效,怎么重启这里就不多 ...

  8. K-means算法(理论+opencv实现)

    写在前面:之前想分类图像的时候有看过k-means算法,当时一知半解的去使用,不懂原理不懂使用规则...显然最后失败了,然后看了<机器学习>这本书对k-means算法有了理论的认识,现在通 ...

  9. drop解决过拟合的情况

    用到的训练数据集:sklearn数据集 可视化工具:tensorboard,这儿记录了loss值(预测值与真实值的差值),通过loss值可以判断训练的结果与真实数据是否吻合 过拟合:训练过程中为了追求 ...

  10. python入门-IF语句

    1 格式 cars = ['audi','bmw','subaru','toyata'] for car in cars: if car =='bmw': print(car.upper()) els ...