こんにちは、私はこのテキストを持っています:
1,0.00,,2.00,10,"Block. CertNot Valid.
Query with me",2013-06-20,0,0.00
これは CSV ファイルでは 2 行ですが、実際には 1 行のデータであり、ブレーク行を削除して、正規表現を使用してこの行を 1 行にまとめたいと考えています。
私は試しました: (\")(.*)(\n)(.*)(\")
、しかし、それは動作しません.
しないでください。改行を削除する必要はありません。
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'
その行のために。
その列が正しく引用されているため、これは機能します。
ここで結果を確認できます: 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