Python 在打印到 CSV 时跳行

Rho*_*nda 4 python csv

我正在尝试创建 .csv 文件。

由于某种原因,它在打印条目之前会跳行。

这是输出

在此输入图像描述

但这就是我需要的

在此输入图像描述

下面是代码。显然if line != "":不起作用

import csv

#-----------------------------------
def csv_writer(data,path):
    """
    Write data to a CSV file path
    """
    with open(path, "w") as csv_file:
        writer = csv.writer(csv_file, delimiter=',')
        for line in data:
            if line != "":
                writer.writerow(line)

#-----------------------------------
if __name__ == "__main__":
    data = ["first_name,last_name,city".split(","),
            "Tyrese,Hirthe,Strackeport".split(","),
            "Jules,Dicki,Lake Nickolasville".split(","),
            "Dedric,Medhurst,Stiedemannberg".split(",")
            ]
    path = "output.csv"
    csv_writer(data,path)
Run Code Online (Sandbox Code Playgroud)

Jea*_*bre 6

某些 python 版本(在 Windows 上)存在问题with open(path, "w") as csv_file:。插入一个虚假的回车符,在每行后创建一个空行。

您必须newline=""按照文档中的说明进行添加。Python 3:

with open(path, "w",newline="") as csv_file:
    writer = csv.writer(csv_file, delimiter=',')
Run Code Online (Sandbox Code Playgroud)

至于Python 2:

with open(path, "wb") as csv_file:
    writer = csv.writer(csv_file, delimiter=',')
Run Code Online (Sandbox Code Playgroud)

也可以看看:

(请注意,Windows 上的最新 Python 版本不再需要这个,但文档仍然说明了这一点)