Python open()方法中的newLine参数

序号 说明 结果
实验一 写文件、读文件都带上newline='' a\r\nb\r\n
实验二 写文件带上参数newline='',读文件不带参数 a\nb\n
实验三 写文件不带参数,读文件带参数newline='' a\r\r\nb\r\r\n
实验四 写文件、读文件都不带参数newline=''(默认) a\n\nb\n\n

 我在读写csv文件时,发现csv两行数据之间里会多出一行空白,后来查到资料看到上图,明白csv文件两行数据之间默认会有两个\n\n,额,写文件的时候加上newLine=“”,就只会有一个\n,那就正常了。

demo:

     

import csv

# url = '/Users/xuele/PycharmProjects/flaskProject/files/test.csv'
url = "D:/pythonPro/demo/file/firstCSV.csv2"


def readData():
    csvFile = csv.reader(open(url, 'r'))
    for row in csvFile:
        print(row)


def writeData():
    csvFile = open(url, 'w+', newline="")
    try:
        writer = csv.writer(csvFile)
        list = [["a", "b", "c"], ["aa", "bb", "cc"]]
        writer.writerows(list)
    finally:
        csvFile.close()


if __name__ == '__main__':
    writeData()
    # readData()

你可能感兴趣的:(python,开发语言)