试图在Python 3中拆分字符串,得到’str’不支持缓冲区接口
发布时间:2020-12-20 11:45:03 所属栏目:Python 来源:网络整理
导读:所以我试图从网站获取数据并将其解析为一个对象.数据由竖线(“|”)分隔.但是,当我使用.split(‘|’)分割我的字符串时,我得到了 TypeError: 'str' does not support the buffer interface 我还在尝试学习Python.我已经对这个错误进行了一些挖掘,但是我发现的
所以我试图从网站获取数据并将其解析为一个对象.数据由竖线(“|”)分隔.但是,当我使用.split(‘|’)分割我的字符串时,我得到了
TypeError: 'str' does not support the buffer interface 我还在尝试学习Python.我已经对这个错误进行了一些挖掘,但是我发现的每个例子都与发送或接收数据有关,并且有很多我不熟悉的术语.一个解决方案说使用.split(b’|’),但是这会以某种方式将我的字符串变成一个字节并阻止我在最后一行打印它. 以下是我的代码.您将提供的任何帮助将不胜感激! with urllib.request.urlopen('ftp://ftp.nasdaqtrader.com/SymbolDirectory/nasdaqtraded.txt') as response: html = response.read() rawStockList = html.splitlines() stockList = [] for i in rawStockList: stockInfo = i.split('|') try: stockList.append(Stock(stockInfo[1],stockInfo[2],stockInfo[5],stockInfo[10],0)) except IndexError: pass print([str(item) for item in stockList]) 解决方法
rawStockList中的项实际上是byte类型,因为response.read()返回它,因为它不需要知道编码.您需要通过使用编码对其进行解码将其转换为正确的字符串.假设文件是??用utf8编码的,你需要这样的东西:
for i in rawStockList: stockInfo = i.decode('utf8').split('|') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python3 shelve模块的详解
- Django ALLOWED_HOSTS与ELB HealthCheck
- python – `scikit-learn`的`r2_score`和R ^ 2计算之间的显
- python – Pygraphviz / networkx设置节点级别或层
- Python连接MySQL并使用fetchall()方法过滤特殊字符
- Python面向对象编程中关于类和方法的学习笔记
- 为Python 2.7安装MySQL-python模块时出错
- Python Pandas – 时间序列的随机抽样
- CentOS下使用yum安装python-pip失败的完美解决方法
- 解决ImportError: No module named setuptools的问题