Python 3.x python3:csv.writer如何删除行^M的结尾?
我意识到export.csv文件的每一行末尾都以^M结尾, 你知道怎么去掉它吗? 可能我必须修改csv.writer 当我将这个csv文件导入SQL时,我在行的末尾额外得到了一个空列:( 我使用以下代码将csv读取到阵列:Python 3.x python3:csv.writer如何删除行^M的结尾?,python-3.x,export-to-csv,Python 3.x,Export To Csv,我意识到export.csv文件的每一行末尾都以^M结尾, 你知道怎么去掉它吗? 可能我必须修改csv.writer 当我将这个csv文件导入SQL时,我在行的末尾额外得到了一个空列:( 我使用以下代码将csv读取到阵列: datafile = open('source.csv', 'r') datareader = csv.reader(datafile, delimiter=',') ... 然后用此代码写入另一个csv文件 with open('export.csv', 'w', new
datafile = open('source.csv', 'r')
datareader = csv.reader(datafile, delimiter=',')
...
然后用此代码写入另一个csv文件
with open('export.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
spamwriter.writerows(data2)
您应该改为使用
换行符=''
打开源文件,以便可以为csv保留原始换行符结尾。要正确处理换行符,请执行以下操作:
datafile = open('source.csv', 'r', newline='')
摘自:
如果未指定换行符='
,则在带引号的字段中嵌入换行符
在使用\r\n
将添加写入额外\r
时的行号。它应始终为
可以安全地指定newline=''
,因为csv
模块有自己的功能
(通用)换行处理
您应该改为使用换行符=''
打开源文件,以便可以为csv保留原始换行符结尾。要正确处理换行符,请执行以下操作:
datafile = open('source.csv', 'r', newline='')
摘自:
如果未指定换行符='
,则在带引号的字段中嵌入换行符
在使用\r\n
将添加写入额外\r
时的行号。它应始终为
可以安全地指定newline=''
,因为csv
模块有自己的功能
(通用)换行处理
我添加了换行符='',但最后仍然有^M。仅供参考:对于创建新对象数据2,我使用位于btw read and write csv>data2=copy的代码。deepcopy(数据)
我添加了换行符='',但最后仍然有^M。仅供参考:对于创建新对象数据2,我使用位于btw read and write csv>data2=copy.deepcopy(数据)的代码