python unicode csv使用金字塔导出

2024-09-30 08:26:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将包含非ascii字符的mongodb导出为csv格式。 现在,我在研究金字塔金字塔.反应. 在

from pyramid.response import Response
from mycart.Member import Member

@view_config(context="mycart:resources.Member", name='', request_method="POST", permission = 'admin')
def member_export( context, request):
     filename = 'member-'+time.strftime("%Y%m%d%H%M%S")+".csv"
     download_path = os.getcwd() + '/MyCart/mycart/static/downloads/'+filename

     member = Members(request)

     my_list = [['First Name,Last Name']]

     record = member.get_all_member( )             
     for r in record:

         mystr = [ r['fname'],  r['lname']]

         my_list.append(mystr)

     with open(download_path, 'wb') as f:
         fileWriter = csv.writer(f, delimiter=',',quotechar='|', quoting=csv.QUOTE_MINIMAL)
         for l in my_list:
             print(l)
             fileWriter.writerow(l)

     size = os.path.getsize(download_path)
     response = Response(content_type='application/force-download', content_disposition='attachment; filename=' + filename)
     response.app_iter = open(download_path , 'rb')
     response.content_length = size

     return response

在mongoDB中,first name显示,当我使用print时,它也显示。然而,当我用excel打开它时,它显示了随机的东西

但是,当我试图在shell中查看它时

^{pr2}$

它成功地显示了非ascii字符。在

我该如何纠正这个问题?在


Tags: csvpathfromresponserequestmydownloadascii
1条回答
网友
1楼 · 发布于 2024-09-30 08:26:47

我不是Windows用户,所以我不确定问题是出在你的代码上还是excel没有很好地处理非ascii字符。但是我注意到您正在用python ^{}模块编写文件,它是notorious for headaches with unicode。在

其他用户报告成功地使用^{}替代csv模块。也许你可以试着以csv作家的身份加入这个模块,看看你的问题是否神奇地消失了。在

相关问题 更多 >

    热门问题