gre*_*reg 11 python csv google-app-engine
我正在从GAE中的表单上传一个csv/tsv文件,我尝试用python csv模块解析该文件.
与此处描述的一样,GAE中上传的文件是字符串.
所以我将上传的字符串视为类文件对象:
file = self.request.get('catalog')
catalog = csv.reader(StringIO.StringIO(file),dialect=csv.excel_tab)
Run Code Online (Sandbox Code Playgroud)
但我的文件中的新行不一定是'\n'(感谢excel ..),并且它生成了一个错误:
错误:在未引用字段中看到的换行符 - 是否需要以通用换行模式打开文件?
有谁知道如何使用StringIO.StringIO来处理像在通用换行符中打开的文件一样的字符串?
怎么样:
file = self.request.get('catalog')
file = '\n'.join(file.splitlines())
catalog = csv.reader(StringIO.StringIO(file),dialect=csv.excel_tab)
Run Code Online (Sandbox Code Playgroud)
或者在评论中指出,csv.reader()
支持列表输入,因此:
file = self.request.get('catalog')
catalog = csv.reader(file.splitlines(),dialect=csv.excel_tab)
Run Code Online (Sandbox Code Playgroud)
或者如果将来request.get
支持读取模式:
file = self.request.get('catalog', 'rU')
catalog = csv.reader(StringIO.StringIO(file),dialect=csv.excel_tab)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6810 次 |
最近记录: |