python csv 单元格换行

在 Python 中使用 csv 模块读写 CSV 文件时,如果 CSV 文件中的单元格存在换行符,可能会导致读写出错。不过,csv 模块提供了相应的解决方法。

如果你想在 CSV 文件中使用单元格换行,可以在单元格中使用双引号(")将整个单元格包裹起来。当然,如果单元格中本来就有双引号,需要将其转义成两个双引号("")。

以下是一个例子,演示如何在 Python 中读写包含单元格换行的 CSV 文件:

import csv
# 写入 CSV 文件
with open('test.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['Name', 'Age', 'Description'])
    writer.writerow(['Alice', '25', 'A "very nice" person.\nLoves to code.'])
    writer.writerow(['Bob', '30', 'A "smart" guy.\nLikes to play chess.'])
# 读取 CSV 文件
with open('test.csv', newline='') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(', '.join(row))

在上面的例子中,我们创建了一个包含单元格换行的 CSV 文件,然后使用 csv 模块读取该文件并打印每一行。

输出结果为:

Name, Age, Description
Alice, 25, A "very nice" person.
Loves to code.
Bob, 30, A "smart" guy.
Likes to play chess.

注意,在写入 CSV 文件时需要将 newline='' 传入文件对象的参数,这样可以避免在 Windows 系统下出现多余的空行。在读取 CSV 文件时同样需要传入 newline='' 参数。

  •