【发布时间】:2018-03-23 13:19:12
【问题描述】:
我遇到了以下错误信息:
以 10 为底的 int() 的无效文字:'"2"'
2 在外面用单引号括起来,在里面用双引号括起来。此数据位于使用print primes[0] 的primes 列表中。
primes 列表中的样本数据:
["2","3","5","7"]
primes 列表是通过以下方式从 CSV 文件创建的:
primes=csvfile.read().replace('\n',' ').split(',')
我正在尝试将primes 列表中的字符串转换为整数。
通过 Google,我在 SE 上遇到了与我类似的问题,并且我尝试了与我的问题 IMO 相关的两个常见答案。
使用 map():
primes=map(int,primes)
使用列表推导:
primes=[int(i) for i in primes]
不幸的是,当我使用它们中的任何一个时,它们都会给出与上面列出的相同的错误消息。当使用 long() 而不是 int() 时,我会收到类似的错误消息。
请指教。
【问题讨论】:
-
你的 csv 在引号中有一堆素数?问题是引号。只需删除引号即可。
-
使用
csv模块,引号将被删除,您将能够转换数字 -
你能给我们一些关于输入是什么样子的想法吗?比如
primes=csvfile.read().replace('\n',' '); print(primes[:160])的输出是什么? -
你能展示你输入的样本吗?
-
抱歉,您应该在此处提供示例数据 -1。我不知道你是如何获得赞成票的。
标签: python python-2.7 list csv