簡體   English   中英

使用正則表達式從CSV刪除行內的換行符

[英]Remove line break inside line row from CSV with regular expression

您好,我有這段文字:

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

這是CSV文件中的兩行,但實際上是一行數據,我想刪除斷行,然后使用正則表達式將該行放在一行中。

我試過了: (\\")(.*)(\\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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM