Ayrıştırmak istediğim bir CSV dosyası yığını var - sorun, alıntı işaretleri olarak kullanılan tırnak işaretlerinin yarısı ve ana alanın içindeki virgüllerin yarısıdır. Gerçekten CSV değiller, ancak tanımlanabilir sabit sayıda alan var. lehçesi = csv. ayar alanının içinde, karakter "ekstra dışarı dosyalar üzerinde mükemmel çalışıyor ve "excel".İçindekilerle birlikte alıntı ve virgülle birlikte CSV dosyaları
Bu veriler desteklenmeyen/eskidir. Bu konuda biraz hayat itmeye çalışıyorum.
örneğin
"AAAAA
AAAA
AAAA
AAAA","AAAAAAAA
AAAAAA
AAAAA "AAAAAA" AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA, AAAAA
AAAAAAAAA AAAAA AAAAAAAAAA
AAAAA, "AAAAA", AAAAAAAAA
AAAAAAAA AAAAAAAA
AAAAAAA
"
Bu dosya ayrıştırıcı açma ve bir hata _csv.Error: newline inside string
atar edilir. Ben 2 alanda içinden tırnak işaretleri kaldırarak bu varlık sorunu için aşağı narrrowed ve csv.reader modül dosya Tamam ayrıştırır
Bazıları alanlar çok satırlıdır - bunu bilmek önemli mi emin değilim.
Lehim ayarlarında dolaşıyorum ve 'atlama başlangıç alanını' bulabildiğim için, bu problemi çözmüyor gibi görünüyor.
Açık olmak gerekirse -. Bu gevşek alan testi içinde "karakter bir CSV yapıya uygulayın ancak var ve geçerli değil 'CSV', veri nesnelerilineterminator \ x0d \ x0a
olduğunu doublequote anda değişik permuations ve lehçe modülünde alıntı değişkene gider arasındabir dizi çalıştılar, ama bu doğru ayrıştırmak alınamıyor.
ben emin olamayacağı bir "veya" kombinasyon yalnızca alan sınırları üzerinde bulunur.
Bu sorun, yalnızca dosyadaki birkaç alanın biri (son) için var ve birkaç bin dosya var.
düzgün CSV, alıntı yapılan alanda alıntı niteliğindeki bir karakterden kaçmak için birbirini takip eden iki alıntı karakteri ('" "') kullanır. Alternatif olarak, alan ayrılmamış olabilir ve hiçbir kaçış gerekli değildir, ancak virgül ve yeni satırlar böyle bir alanda görünemez. Bunun gibi tek tırnaklar normalde geçerli değildir. Diğer CSV okuyucularının (python dahil) beklentilerinin daha iyi olması için CSV verilerinizin kaynaklarının seçeneklerini değiştirmek mümkün mü? – SingleNegationElimination
Verileri miras aldım - ve pek çok şey var ... Bu yüzden tekrar ayırabilen bir ayrıştırıcı oluşturmak dışında hiçbir şey yapamam. –
Dosyalar zarar görmüyor, kötü/zayıf bir CSV olarak yapılandırılmış.“Verileri miras aldım” tam “mazeret” dir - bu sadece ne olur. Veri eski/terk edilmiş ve onu diriltmek istiyorum. –