【发布时间】:2021-08-13 04:17:57
【问题描述】:
Objective:从大文本文件中提取每个段落并将其存储在 .csv 文件中。 new line("\n") 用作分隔符。
这是我正在使用的代码:
import csv
input_file = open('path', 'r')
output_file = open('path', 'a+')
writer = csv.writer(output_file)
list = []
for line in input_file:
if line != "\n":
list.append(line)
else:
writer.writerow(list)
list.clear()
这里的目标是解析每一行并将其附加到一个列表中,直到遇到"\n",并将列表中存在的内容存储到 .csv 文件中的single cell 中。
代码运行良好,但由于某种原因,每个 line 都打印在单独的列/单元格中,而不是将整个 paragraph 打印到单个单元格中。
预期输出:row 1:this is stackoverflow
使用python语言。
当前输出:
row 1:这是stackoverflow |使用python语言。
我在这里错过了什么?
【问题讨论】:
-
我发现有两个问题。
input_file中的 每一行 都会以\n字符结尾,这就是for line in input_file:的工作方式(即换行符分隔文件中的行)。其次,您应该始终使用open(..., newline='')打开CSV 文件,如csv模块的documentation 所示。 -
您应该在您的minimal reproducible example 中包含一个
input_file的最小示例。
标签: python csv file export-to-csv