如何用代码解决换行问题?

问题描述 投票:-1回答:1

我想把一个数据(list)写到csv文件中,但是每行后都会增加空行。

from csv import  writer

list = [["Name", "Age", "Sex"], ["John", 30, "Male"]]
with open("writer.csv", "w") as csv_file:
    csv_reader = writer(csv_file)
    for i in range(0, len(list)):
        csv_reader.writerow(list[i])

output

python-3.x newline
1个回答
0
投票

试试这个。

from csv import  writer

list = [["Name", "Age", "Sex"], ["John", 30, "Male"]]
with open("writer.csv", "w", newline="") as csv_file:
    csv_reader = writer(csv_file)
    for i in range(0, len(list)):
        csv_reader.writerow(list[i])

我刚刚添加了 newline = ""open 功能

根据文档。

当向流中写入输出时,如果newline为None,则任何 '\n' 所写的字符会被翻译成系统默认的行分隔符。os.linesep. 如果换行是 '''\n',不进行翻译。如果newline是其他法律值中的任何一个,则任何的 '\n' 写的字符会被翻译成给定的字符串。

os.linesep 等于 '\r\n'因此,如果你指定 newline = None (默认情况下是这样),任何 '\n' 转换为 '\r\n'这就是为什么你有一个额外的新行。

© www.soinside.com 2019 - 2024. All rights reserved.