2016-04-13 12 views
1

okudum:C++ içindeki (gerçek, uygun, tam özellikli) CSV'leri nasıl okumalı ve ayrıştırmalıyım?

How can I read and parse CSV files in C++?

ama başlık oldukça yanıltıcı yoktur. Tek başına CSV'leri okumaktan bahsetmiyor, sadece çok satırlı virgülle ayrılmış veriyi saklamıyor. Doğru biçimi (RFC 4180 uyumlu) - -

Şimdi, gerçek CSV'leri ayrıştırmak istiyor alıntı alanları ile ve satır sonları, virgül ve alıntı alanlarındaki çift tırnak; ve en azından, CRLF'yi LF'den ziyade bir kayıt sınırlayıcı olarak bekleme seçeneği ile.

Daha spesifik olmak gerekirse: Yükseltme-tokenizer tabanlı önerileri, teklifin daha basit sürümlerinden alıntılama (ve diğer sorunları) işlemek için genişletebilir miyim?

+0

Bu sorunun cevabını da [cevap] (http://stackoverflow.com/a/1122720/1413395) değil miydi? –

+0

... ve değilse, CSV dosyalarını ayrıştırmak roket bilimi gibi görünmüyor. Mevcut kütüphaneler sizin memnuniyetinize tam olarak uymuyorsa, bir CSV çözümleyicinin yazılması en fazla yarım gün sürmelidir. –

+0

Kabul. Neden bir CSV ayrıştırma kütüphanesi almıyoruz? – NathanOliver

cevap

1

Önceden varolan bir kitaplığı kullanmayı düşünürüm. Google'da makul bulduğum ilk rakam librfc4180csv idi.

+0

Usulleri hakkında bir şeyler görebiliyor musunuz? RFC 4180 ile uyumlu olduğunu varsayıyorum, ama - bu oldukça hızlı mı? Görünüşünden çok standart kütüphane gibi değil. Ayrıca, 'ragel' aracını gerektirmez mi? – einpoklum