Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:Remove“;中排”;CSV中的换行符_Python - Fatal编程技术网

Python:Remove“;中排”;CSV中的换行符

Python:Remove“;中排”;CSV中的换行符,python,Python,我有一个csv生成的平台,我们在工作中使用86个不同的领域。字段或“列”的数量应保持不变。字段是多种数据类型的混合体,但其中一些字段具有包含换行符的自由格式文本 问题是,当我将csv导入任何程序(Excel、记事本、带Python的Jupyter Notebook)时,自由格式文本字段会被拆分成一个新行(如果该字段包含多个换行符,则为多个新行) 我在这里尝试了许多由不同线程提出的建议,但没有一个真正适用于我正在做的事情 以下是我在平台中所用格式的示例,我想要csv格式(实际数据更复杂,但只是为了

我有一个csv生成的平台,我们在工作中使用86个不同的领域。字段或“列”的数量应保持不变。字段是多种数据类型的混合体,但其中一些字段具有包含换行符的自由格式文本

问题是,当我将csv导入任何程序(Excel、记事本、带Python的Jupyter Notebook)时,自由格式文本字段会被拆分成一个新行(如果该字段包含多个换行符,则为多个新行)

我在这里尝试了许多由不同线程提出的建议,但没有一个真正适用于我正在做的事情

以下是我在平台中所用格式的示例,我想要csv格式(实际数据更复杂,但只是为了说明问题)(下面包含的\n是为了说明实际中断的位置,但它们在编辑器中实际不可见(除非搜索它们)):

当我将其导入任何文本编辑器、Excel、使用pandas等Python的Jupyter时,我得到:

Header0, H1, H2, H86
Name0, ABC, 123, “Hello\n
my name is ABC.,,,\n
I live at 123.”,,,\n
Name1, DEF, 456, “Hello\n
my name is DEF.,,,\n
I live at 456.”,,,\n
Name2, GHI, 789, “Good bye”\n
建议删除所有换行符,但这不起作用,因为我会删除每行末尾的合法换行符(否则,如何在csv中指定单独的行?这应该可以做到:

with open('path/to/input') as infile, open('path/to/output', 'w') as outfile:
    outfile = csv.writer(outfile)
    for row in csv.reader(infile):
        outfile.writerow([c.replace('\n', '') for c in row])

问题是,即使是现在,单个有效行也被分解为多行。这是CSV生成方式的问题。应该是第1行被分解为多行,因为平台上的某些字段包含包含换行符的文本。当从在e平台上,文本字段中的换行符会导致该记录被拆分为多行。我不能再多说“播放
quotechar
lineinterminator
with open('path/to/input') as infile, open('path/to/output', 'w') as outfile:
    outfile = csv.writer(outfile)
    for row in csv.reader(infile):
        outfile.writerow([c.replace('\n', '') for c in row])