2

こんにちは、私はこのテキストを持っています:

1,0.00,,2.00,10,"Block. CertNot Valid.
Query with me",2013-06-20,0,0.00

これは CSV ファイルでは 2 行ですが、実際には 1 行のデータであり、ブレーク行を削除して、正規表現を使用してこの行を 1 行にまとめたいと考えています。

私は試しました: (\")(.*)(\n)(.*)(\")、しかし、それは動作しません.

4

2 に答える 2

4

しないでください。改行を削除する必要はありません。

csvモジュールを使用して CSV ファイルを読み取ると、改行が正しく処理されます。

import csv

with open(csvfilename, 'rb') as infile:
    reader = csv.reader(infile)
    for row in reader:
        print repr(row[5])

印刷されます:

'Block. CertNot Valid.\nQuery with me'

その行のために。

その列が正しく引用されているため、これは機能します。

于 2013-10-27T13:25:35.207 に答える
0

ここで結果を確認できます: https://www.debuggex.com/r/2_X5N-wTLZ2laJKh

コンソール出力:

>>> regex = re.compile("\"(.+?)\"",re.MULTILINE|re.DOTALL|re.VERBOSE)
>>> regex.findall(string)
[u'Block. CertNot Valid.\nQuery with me', u'test\naaa', u'bbb\nvvvv']

「文字列」の値は次のとおりです。

1,0.00,,2.00,10,"Block. CertNot Valid.
Query with me",2013-06-20,0,0.00

1,0.00,,2.00,10,"test
aaa",2013-06-20,0,0.00

1,0.00,,2.00,10,"bbb
vvvv",2013-06-20,0,0.00
于 2013-10-27T13:41:16.880 に答える