Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 如何解析混合的单行和多行文本?_Python_Regex_Csv_Subprocess - Fatal编程技术网

Python 如何解析混合的单行和多行文本?

Python 如何解析混合的单行和多行文本?,python,regex,csv,subprocess,Python,Regex,Csv,Subprocess,我想从CM synergy数据库中查询任务信息。 我使用以下python脚本片段: cmd = "ccm task -query -release " + release_name + \ " -format \"%displayname; %task_synopsis; %task_description; %owner; %completion_date; %status\"" (status, output) = subprocess.getstatusoutput


我想从CM synergy数据库中查询任务信息。 我使用以下python脚本片段:

cmd = "ccm task -query -release " + release_name + \
        " -format \"%displayname; %task_synopsis; %task_description; %owner; %completion_date; %status\""
    (status, output) = subprocess.getstatusoutput(cmd)
print("status: {}".format(status))
print("output: \n{}".format(output))
然后我得到如下类似输出文本,其中第三列中有多行:

1179836; Development projects dev/1.0;      Init tools                                              yangli; 3/29/17 4:05 PM;  completed
                                            Result: no
                                            Comment: This is a testing review comment, it's ok.;
那么如何将它们解析为.csv格式的文件呢? 我想知道我如何才能得到完整的第三栏,其中有许多行。
提前非常感谢。

这不是CSV。CSV确实支持嵌入的换行符,但方式不同。我怀疑您必须编写一个完整的自定义解析器来跟踪缩进级别并以树状结构连接“列”。对output.split(“;”)中的项执行
[item.strip()]是有意义的。
。这将为一组查询字段生成数据,其中一些字段中碰巧有换行符。奇怪的是,它们似乎与
-format
中给出的字段不匹配。您确定该命令生成了输出吗?如果您只需要第三列,那么这就是您需要的格式。