使用Python csv模块将多行单元格与空格或其他字符合并

时间:2016-10-19 18:38:41

标签: python csv

我在Python中编写了一个小脚本来接受类似于来自Excel的csv文件并将其输出为管道分隔文件。当遇到包含多行的单元格时,它当前会在行尾添加一个反斜杠(就像我指定的转义字符一样)并继续下一行的单元格。我想要做的是能够指定一个空格字符或一个字符串,新行将替换为反斜杠,并在同一行继续记录。我虽然遇到了一些麻烦。有没有一种简单的方法可以使用csv模块执行此操作?到目前为止我所拥有的:

fout = open (tfile, "wt")
cout = csv.writer(fout, delimiter = '|', quotechar = '', quoting =     csv.QUOTE_NONE, lineterminator = '\n', escapechar='\\')

cin = csv.reader(fin)

for row in cin:
    cout.writerow(row)

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案。我没有使用反斜杠作为转义字符,而是使用' \ n'然后为每行中的每个字段查找并替换新行。即。

cout = csv.writer(fout, delimiter = '|', quotechar = '', quoting = csv.QUOTE_NONE, lineterminator = '\n', escapechar='\n')

for row in cin:
    newrow = row
    row[:] = [str.replace("\n", " ") for str in row]
    cout.writerow(newrow)

列表的查找和替换基于对How to modify list entries during for loop?

的响应