当前位置: 首页 > 面试题库 >

如何在Python 2.7中使用StringIO解决TypeError?

皇甫逸清
2023-03-14
问题内容

尝试使用将以下字符串读取为文件StringIO但出现以下错误。我该如何解决?

>> from io import StringIO
>>>
>>> datastring = StringIO("""\
... Country  Metric           2011   2012   2013  2014
... USA     GDP               7      4     0      2
... USA     Pop.              2      3     0      3
... GB      GDP               8      7     0      7
... GB      Pop.              2      6     0      0
... FR      GDP               5      0     0      1
... FR      Pop.              1      1     0      5
... """)
Traceback (most recent call last):
  File "<stdin>", line 9, in <module>
TypeError: initial_value must be unicode or None, not str

问题答案:

您可以通过在字符串之前添加au来使字符串成为unicode来解决错误:

datastring = StringIO(u"""\
Country  Metric           2011   2012   2013  2014
USA     GDP               7      4     0      2
USA     Pop.              2      3     0      3
GB      GDP               8      7     0      7
GB      Pop.              2      6     0      0
FR      GDP               5      0     0      1
FR      Pop.              1      1     0      5
""")

您的初始值应为unicode。



 类似资料:
  • 我正在使用Python 3.2。1并且我无法导入模块。我使用可以工作,但我不能将它与的一起使用,如下所示: 我得到以下错误: 当我写时,它说

  • Values.java AmountDetail.java 当我在postman if子句中点击API时,它工作正常,但如果我想检查else,它会给出错误。我觉得铸造是这里的问题,但我不知道如何返回else块的值。

  • 问题内容: 如何使用python2.7获取公共IP?不是私有IP。 问题答案: 当前有几种选择: ip.42.pl jsonip.com httpbin.org ipify.org 以下是可以利用上述每种方法的确切方法。 ip.42.pl 这是我找到的第一个选项。对于脚本来说非常方便,您不需要在这里进行JSON解析。 jsonip.com 似乎该域的唯一目的是返回JSON中的IP地址。 httpb

  • 问题内容: 我必须在我的Java应用程序中打印EST时间。我使用以下方法将时区设置为EST: 但是,当在该时区遵循夏令时时,我的代码将无法打印正确的时间(它可以少打印1小时)。 不管是否遵守夏令时,如何使代码始终读取正确的时间? PS:我尝试将时区设置为EDT,但不能解决问题。 问题答案: 这是开始的问题: 应该完全避免使用3个字母的缩写,而应使用TZDB区域ID。EST是东部标准时间- 标准时间

  • 我正在为一个控制器方法编写一个单元测试,该方法接受一个和一个自定义对象。到目前为止,我可以看到MultipartFile是请求的正确格式,但MessageAttachment不是。 通过解析,会抛出服务器端500错误,其中包含。 这似乎是一个问题,在测试中转换到MockMultipartFile消息附件。这类似于这里显示的示例-https://stackoverflow.com/a/2180518

  • 本文向大家介绍解决python2.7 查询mysql时出现中文乱码,包括了解决python2.7 查询mysql时出现中文乱码的使用技巧和注意事项,需要的朋友参考一下 问题: python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码 --- 可能情况: 1.mysql数据库各项没有设置编码,默认为'latin' 2.使用MySQL.connect的时候没有设置默认编码 3.没有设置