为了账号安全,请及时绑定邮箱和手机立即绑定

Python 2.6中对csv文件的常规Unicode / UTF-8支持

Python 2.6中对csv文件的常规Unicode / UTF-8支持

慕尼黑的夜晚无繁华 2019-12-27 12:55:04
当涉及UTF-8 / Unicode时,Python中的csv模块无法正常工作。我在Python文档和其他网页中发现了适用于特定情况的代码段,但是您必须清楚地了解要处理的编码并使用适当的代码段。如何在Python 2.6中“正常工作”的.csv文件中读写字符串和Unicode字符串?还是这是没有简单解决方案的Python 2.6的局限性?
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

此处提供的模块看起来像是csv模块的酷炫,简单,直接的替代品,使您可以使用utf-8 csv。


import ucsv as csv

with open('some.csv', 'rb') as f:

    reader = csv.reader(f)

    for row in reader:

        print row


查看完整回答
反对 回复 2019-12-27
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

该文档中已经有Unicode示例的用法,为什么还需要寻找另一个示例或重新发明轮子呢?


import csv


def unicode_csv_reader(unicode_csv_data, dialect=csv.excel, **kwargs):

    # csv.py doesn't do Unicode; encode temporarily as UTF-8:

    csv_reader = csv.reader(utf_8_encoder(unicode_csv_data),

                            dialect=dialect, **kwargs)

    for row in csv_reader:

        # decode UTF-8 back to Unicode, cell by cell:

        yield [unicode(cell, 'utf-8') for cell in row]


def utf_8_encoder(unicode_csv_data):

    for line in unicode_csv_data:

        yield line.encode('utf-8')


查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 483 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信