Ben piton CSV okuyucu kullanmak istiyorum ama içinde tırnak bırakmak istiyorum İstediğim geçerli:.Python'un csv okuyucusu alıntıları bırakabilir mi?
>>> s = '"simple|split"|test'
>>> reader = csv.reader([s], delimiter='|', skipinitialspace=True)
>>> reader.next()
['"simple|split"', 'test']
Ama aslında alıyorum: Benim durumumda
['simple|split', 'test']
ben alıntı istiyorum hala aktarılan aktarılacak dize.
CSV okuyucunun amaçlanan şekilde çalıştığını biliyorum ve kullanım durumum bunun bir kötüye kullanımı, ancak bunu benim isteğime göre bükmenin bir yolu var mı? Yoksa kendi dizgim çözümleyicimi mi yazmalıyım?
Sen olacak kendi ayrıştırıcınızı yazmanız gerekir. Tırnaklar, aksi halde tek bir sütun olarak görülmeyen veriden kaçmanın bir yoludur ve dolayısıyla çıktının bir parçası olarak kabul edilmez. –
Verilerin ne kadar karmaşık olduğuna bağlı olarak, 'filtre (Yok, re.split (r' (". *?") | \ | ', S)) 'gibi bir şeyi aldatıp kullanabilirsiniz. 'pyparsing' –
'ya Merhaba, Martino ve Jon'un söylediklerini geliştirdiğim bir cevabı yayınladım. Neden bir regex kullanmayı düşünmediğini söyler misin? – eyquem