【问题标题】:python valueerror: too many values to unpack using numpypython valueerror:使用numpy解包的值太多
【发布时间】:2014-03-18 20:48:34
【问题描述】:

我正在尝试将 excel 文件中的信息提取到 python 中,但出现此错误:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    main()
  File "C:\Users\viral\Desktop\python\test.py", line 5, in main
    date, time, temp = np.loadtxt('temperatures.csv', delimiter = ',', unpack = True, dtype = 'str')
ValueError: too many values to unpack

代码:

import numpy as np

def main():

    date, time, temp = np.loadtxt('temperature.csv', delimiter = ',', unpack = True, dtype = 'str')

    import itertools
    groups = itertools.groupby(zip(date, temp), lambda dv:dv[0])
    list_of_lists = [[d] + [v[1] for v in values] for d, values in groups]
    list_of_lists = list_of_lists[:len(list_of_lists)-1]
    x = 0 
    while (x < len(list_of_lists)):
        list_of_lists[x] = [float(i) for i in list_of_lists[x]]
        print list_of_lists[x]
        x += 1
    print len(list_of_lists)

excel 文件看起来像这样。它是csv格式:

请帮忙调试

来自 csv 文件的原始数据:

20130102        9:30:00 AM      34.75
20130102        9:31:00 AM      34.66
20130102        9:32:00 AM      34.6
20130102        9:33:00 AM      34.6
20130102        9:34:00 AM      34.61
20130102        9:35:00 AM      34.65
20130102        9:36:00 AM      34.65

持续 65,208 行

【问题讨论】:

  • 你确定你有正确的分隔符?你能告诉我们来自 csv 的原始数据吗?编辑此问题的信息。
  • 使用调试器或打印查看np.loadtxt的返回值
  • 发布csv的确切文本内容。
  • 显示print(repr(open('temperature.csv', 'rb').read(100)))的输出

标签: python excel numpy python-2.x


【解决方案1】:

没关系。我想到了。有太多行需要解包。当我将 csv 文件分成 2 个文件,每个文件有约 30k 行时,它起作用了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多