Python csv写入器在从另一个csv文件复制数据时添加了双引号,如何完全复制相同的数据

Python csv写入器在从另一个csv文件复制数据时添加了双引号,如何完全复制相同的数据

问题描述

Python csv写入器在从另一个csv文件复制数据时添加了双引号,因此我只想知道如何完全复制相同的数据

#Reading from csv file
with open('py_csv/oscar_age_male.csv','r') as csv_file:
    csv_reader=csv.reader(csv_file)

    #Creating new file and opening it and changing delimiter
    with open('py_csv/newfile.csv','w')as newfile:
        csv_writer=csv.writer(newfile)

#Writing Row by row
        for line in csv_reader:
            csv_writer.writerow(line)

数据来自原始文件=

1, 1928, 44, "Emil Janning", "The Last Command, The Way of All Flesh"
2, 1929, 41, "Warner Baxter", "In Old Arizona"

复制后的数据=

1, 1928, 44," ""Emil Janning"""," ""The Last Command"," The Way of All Flesh"""
2, 1929, 41," ""Warner Baxter"""," ""In Old Arizona"""

解决方案

问题是逗号后的空格。在CSV中,允许在字段周围加上引号,但由于字段以空格开头,所以引号似乎并没有囊括整个字段值。因此,它们被视为需要在输出中加倍的文字引号。

使用skipinitialspace选项来忽略这些空格。

csv_reader=csv.reader(csv_file, skipinitialspace=True)

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程