python'da "evrensel yeni satır" ile csv dosyasını yükle ve ayrıştırma GAE'de bir formdan bir csv/tsv dosyası yüklüyorum ve dosyayı python csv modülü ile ayrıştırmaya çalışıyorum.Google App Engine
here tanımındaki gibi, GAE dosyasında yüklenen dosyalar dizgilerdir.
Ben de yüklenen dize bir dosya benzeri bir nesne tedavi:
file = self.request.get('catalog')
catalog = csv.reader(StringIO.StringIO(file),dialect=csv.excel_tab)
Ama dosyalarında yeni hatlar mutlaka '\ n' (teşekkürler .. excel) yoktur ve bu bir hata oluşturulur:
Hata: Satılamayan alanda görülen yeni satır karakteri - dosyayı evrensel yeni satır modunda açmanız mı gerekiyor?
Evrensel yeni satırda açılan dosyalar gibi dizeleri işlemek için StringIO.StringIO'nun nasıl kullanılacağını bilen var mı? yaklaşık
Python Docs göre StringIO varsayılan modu evrensel satır olduğunu. Veri dosyanızda bir şey yabancı olabilir. – Calvin
@Calvin _ "Python belgelerine göre, StringIO'nun varsayılan modu evrensel yeni hattır" _ Dokümanların nerede olduğunu söyleyemedim, gösterebilir miyiz lütfen? – eyquem
@eyquem 2,5 yıl geçti, bu yüzden dokümanlar değişmiş olabilir, ancak http://docs.python.org/3.3/library/io.html?highlight=stringio#io.StringIO, 'Yeni satır argümanı TextIOWrapper'ınki gibi çalışır 've TextIOWrapper' yeni satırın Yok ise, evrensel yeni satırlar modu etkin 'diyor. Ama sonra StringIO, 'Varsayılan olarak yeni satır çevirisi yapmamak' diyerek bununla çelişir. – Calvin