Python中通过csv的writerow输出的内容有多余的空行

作者&投稿:章饺 (若有异议请与网页底部的电邮联系)
Python中通过csv的writerow输出的内容有多余的空行~

输出之前,对每行执行。
row_str = row_str.strip()

Python文档中有提到:
open('eggs.csv', newline='')
也就是说,打开文件的时候多指定一个参数。Python文档中也有这样的示例:
import csvwith open('eggs.csv', 'w', newline='') as csvfile: spamwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL) spamwriter.writerow(['Spam'] * 5 + ['Baked Beans']) spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])

有可能是csv方言(dialect)的问题吧

csv方言参数中有一个 lineterminator,他的作用是定义csv结束一行的符号, 默认值是 '\r\n',如果有需要,可以尝试修改

1

csv.register_dialect(lineterminator='\n',)

如果还是不行的话,有可能是你writerow的行前面多了换行符。

Python中的csv的writer,打开文件的时候,要小心,
要通过binary模式去打开,即带b的,比如wb,ab+等
而不能通过文本模式,即不带b的方式,w,w+,a+等,否则,会导致使用writerow写内容到csv中时,产生对于的CR,导致多余的空行。

在issue7189中有如下说明:
If the documentation is not clear enough about requiring binary, it is a doc bug.
The documentation for both csv.reader and csv.writer state (this is from the
Python 2.7 version):
If *csvfile* is a file object, it must be opened with the 'b' flag on
platforms where that makes a difference.
I suppose we could be explicit and mention Windows here, but the wording is
quite clear. There is really no harm in always opening the file in binary
mode, and I do that myself even though I only program on Unix or Mac
platforms where it's safe to open the file in text mode.
This all changed in Python 3. There, the choice of line ending is up to the
programmer, so file objects for use by the csv module are opened with
newline='' and when writing CSV data the writer object takes complete
control of proper line termination according to the programmer's stated
choice of lineterminator.


python3中row,col,c都表示什么意思
可能是变量的名字,row横向的(行),column纵向的(列),矩阵一般会这样用

Python中有没有类似c语言中#define的功能?
python里根本用不到这样的功能。Python跟c是两种不同的语言,所谓不同的语言就是说有不同的关键字和语法,就像汉语和英语一样,并不是说你把一个汉语句子里的词全换成英语那就是英语句子了,有些东西并不是一一对应的。Python是一种什么语言:Python是一种相当高级的语言。高级的Python程序设计也是...

python 与C的区别
1、语言类型不同。Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它赋值的时候。C 是静态类型语言,一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。2、对象机制不同。Python中所有的数据,都是...

在python中,s+=c[j]是什么意思?
在 Python 中,s += c[j] 表示将变量 c 中下标为 j 的元素的值加到变量 s 的值上。简单来说,就是将 s 和 c[j] 相加,并将结果赋值给 s。这里的 s 和 c[j] 可以是任何支持相加操作的数据类型,例如字符串、数字、数组等。需要注意的是,如果 s 或 c[j] 是字符串,则相加操作会...

Python中如何输入摄氏温度的符号?
在Python中,我们可以使用Unicode字符来输入摄氏度符号,即°C。代码如下:celsius = 25print(str(celsius) + "\℃")输出结果将为:25℃ 在上述代码中,\℃ 是符号℃的Unicode编码,通过将其添加到字符串中,我们可以在控制台输出摄氏度符号。

python和c语言的区别是什么
四、在运算符和优先级上面,两者并没有大的区别,但在python中没有自加和自减运算符,在逻辑运算符上Python也区别于C语言,Python中是and,or,not ,而C语言中则是&&,||,!五、Python中通过缩进来表示语句体,C语言通过{}来表示语句体,并且在Python中每一条语句结尾后没有分号,判断语句if ...

一篇文章带你深度解析Python线程和进程
首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。同样一段代码可以通过CPython,PyPy,Psyco等不同的Python执行环境来执行(其中的JPython就没有GIL)。 那么CPython实现中的GIL又是什么呢...

python中的数据类型有哪些
1.1、如何在Python中使用字符串a、使用单引号(')用单引号括起来表示字符串,例如:str='this is string';print str;b、使用双引号(")双引号中的字符串与单引号中的字符串用法完全相同,例如:str="this is string";print str;c、使用三引号(''')利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号...

C语言和python语言有很多相似吗
语言之所能够火出圈,最大的原因还是因为他简单,Python语言简便的语法和丰富的类库让很多零基础的小白感受到了开发的魔力,Python有很多很强大的内置函数,我们只需要在需要用到的时候import,这些丰富的类库在Python中称为模块,像OS模块、time模块、random模块等基础模块,我们可以使用一行甚至几行代码就可以实现C语言几百...

python中+=的用法
4、速度较快:Python的底层是用C语言写的,很多标准库和第三方库也都是用C写的,运行速度非常快。5、免费、开源:Python是FLOSS(自由\/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。

城关区19836362866: Python中通过csv的writerow输出的内容有多余的空行 -
闻聂益肾: Python中的csv的writer,打开文件的时候,要小心,要通过binary模式去打开,即带b的,比如wb,ab+等 而不能通过文本模式,即不带b的方式,w,w+,a+等,否则,会导致使用writerow写内容到csv中时,产生对于的CR,导致多余的空行.

城关区19836362866: python中怎么处理csv文件 -
闻聂益肾: 什么是CSV 就是内容用逗号隔开,后缀是'.csv'的文件.它可以被任何一个文本编辑器打开.如果用excel打开,它又可以是这样的:END 读CSV 典型的可处理的csv文件,通常含有表头,也就是每列的列名.这样一来,每一行的内容就可以...

城关区19836362866: csv文件怎么打开 使用Python读取和写入CSV文件 -
闻聂益肾: csv文件本质上是一个文本文件,具体的读取和写入方法有两种:直接对csv文件进行文件读写操作,每一行是一条记录,按行读取即可,简单代码如下:with open("XXX.csv","wr") as f:f.readline() f.write()2.使用第三方库中的csv文件读写函数...

城关区19836362866: python中怎样读取csv文件内容 -
闻聂益肾: 和普通文件一样读取.csv中文件数据项有逗号划分开. infile = open("data.csv", 'r')for line in infile:data = line.rstrip().split(',')print(data)

城关区19836362866: python怎么导入csv文件 -
闻聂益肾: python中有一个读写csv文件的包,直接import csv即可.利用这个python包可以很方便对csv文件进行操作,一些简单的用法如下. 读文件 csv_reader = csv.reader(open('data.file', encoding='utf-8')) for row in csv_reader: print(row)

城关区19836362866: python怎么读取修改csv文件,并且重新创建在一个文件夹中 -
闻聂益肾: 参考方法如下:逐行处理:for line in open("samples/sample.csv"):title, year, director = line.split(",") //以“,”号为分割,按逗号将数据分成三部分;print year, title 使用csv模块处理:import csv reader = csv.reader(open("samples\sample.csv")) for title, year, director in reader:print year, title 改变分隔符;

城关区19836362866: 怎么用python读取csv数据 -
闻聂益肾: python 自带 csv 框架.1 2 3 4 5 6 7 8 9 10# 读取csv文件 importcsv with open('some.csv', 'rb') as f: # 采用b的方式处理可以省去很多问题reader =csv.reader(f)forrow inreader: # do something with row, such as row[0],row[1]importcsv with ...

城关区19836362866: python中怎么读取csv文件 -
闻聂益肾: csv直接按纯文本格式读取就可以了. 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据

城关区19836362866: python 如何快速提取csv中的数据矩阵? -
闻聂益肾: 用pandas库,import pandas as pd data = pd.read_csv('train.csv') train_data = data.values[0:TRAIN_NUM,1:] train_label = data.values[0:TRAIN_NUM,0] study.163.com/course/courseMain.htm?courseId=1000035 机器学习正好讲了这个手写识别的例子

城关区19836362866: python中如何将Zip文件里的text文件用CSV的方式读取 -
闻聂益肾: 其实最后输出的二进制, 和zipfile无关, 是和py3.5有关, 你可以在输出的结果解码, 就能得到字符类型了 content = f.readline() print(content.decode('utf8'))

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网