首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python3非utf8 pygeoip模块和howto解码

Python3非utf8 pygeoip模块和howto解码
EN

Stack Overflow用户
提问于 2015-01-23 17:48:52
回答 1查看 53关注 0票数 0

我正在用Python3阅读CSV,如下所示:

代码语言:javascript
复制
#!/usr/bin/env python3
import pygeoip
import csv

array = []
    with open('ips.log', 'rb') as csvfile:
        spamreader = csv.reader(csvfile, delimiter='\t')
        for row in spamreader:

            row.append(geo_isp.isp_by_addr(row[1]))
            array.append(row)

在我的数据中,我现在看到:

代码语言:javascript
复制
['owner': u'AS31334 Kabel Deutschland Vertrieb und Service GmbH', 'ip': '35.91.245.23', 'views': 6]

如何去掉运营商名称前面的u?这是csv模块的故障还是pygeoip模块的故障?

我正在尝试,但没有成功:

row.append(geo_isp.isp_by_addr(row[1].decode("windows-1252").encode("utf8")))

这也会在字符串前面打印'u‘:

row.append(geo_isp.isp_by_addr(str(row[1])))

另请参阅:https://github.com/appliedsec/pygeoip/issues/1

EN

回答 1

Stack Overflow用户

发布于 2015-01-23 18:29:06

目前,您正在以二进制模式打开文件。通过将open语句更改为

代码语言:javascript
复制
with open('filename','r') as csvfile:

这应该能起到作用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28107071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档