当涉及UTF-8/Unicode时,Python中的csv模块无法正常工作.我在Python文档和其他网页上找到了适用于特定情况的片段,但您必须了解您正在处理的编码并使用相应的代码段.
如何从Python 2.6中"正常工作"的.csv文件中读取和写入字符串和Unicode字符串?或者这是Python 2.6的限制,没有简单的解决方案?
我正在尝试在Django中动态创建一个文件:
response = HttpResponse(mimetype='text/txt')
response['Content-Disposition'] = 'attachment; filename=%s' % filename # UnicodeEncodeError
response.write('text')
return response
Run Code Online (Sandbox Code Playgroud)
如果我硬编码文件名它可以正常工作,但如果我尝试从包含非ascii字符的DB数据创建文件名(如ó),我会得到一个UnicodeEncodeError异常.如何在不获取异常的情况下使用DB文件名?
我想根据Django的请求生成动态Excel文件.库pyExcelerator执行此操作,但我没有找到任何方法来使用Excel文件的内容,而不生成服务器端临时Excel文件,读取它,使用其内容并删除它.
问题是pyExcelerator只提取Excel文件内容的方法是通过以下方式保存它:
workbook = pyExcelerator.Workbook()
workbook.save("tmp_filename")
Run Code Online (Sandbox Code Playgroud)
然后读取临时文件内容.我不能使用标准库"tempfile",因为它不接受文件,只接受文件名.如何确保文件名是唯一的,并且文件一旦被使用就会被删除?