簡體   English   中英

什么是 ValueError: too many values to unpack (expected 2)?

[英]What is ValueError: too many values to unpack (expected 2)?

我試圖將midi文件轉換為csv,進行更改,然后再改回midi。 我想使用 py_midicsv 模塊在 python 中完成這一切。

但是,當我嘗試遵循以下文檔時遇到錯誤: https : //github.com/timwedde/py_midicsv

#Convert back to csv
import py_midicsv
csv_string = py_midicsv.midi_to_csv("example.mid")
midi_object = py_midicsv.csv_to_midi(csv_string)

上面的代碼直接來自文檔,但我遇到了錯誤:

ValueError                                Traceback (most recent call last)
<ipython-input-17-2cb6d586ec9e> in <module>
      1 #Convert back to csv
      2 import py_midicsv
----> 3 midi_object = py_midicsv.csv_to_midi(csv_string)

~/.local/lib/python3.6/site-packages/py_midicsv/csvmidi.py in parse(file)
     44             pattern.append(track)
     45         else:
---> 46             event = csv_to_midi_map[identifier](tr, time, identifier, line[3:])
     47             track.append(event)
     48     pattern.make_ticks_rel()

~/.local/lib/python3.6/site-packages/py_midicsv/csv_converters.py in to_AfterTouchEvent(track, time, identifier, line)
     24 
     25 def to_AfterTouchEvent(track, time, identifier, line):
---> 26     cannel, value = map(int, line)
     27     return AfterTouchEvent(tick=time, channel=channel, value=value)
     28 

ValueError: too many values to unpack (expected 2)

這個錯誤是什么意思,我該如何解決?

cannel, value = map(int, line)

問題出在這條線上。 您正在嘗試將此map對象解壓縮為 2 個對象,但它由 2 個以上的對象組成,因此 python 不知道如何處理其余的值。

您需要了解此map對象包含的內容,以及您需要從中獲取哪些數據。 嘗試打印它並查看它包含哪些數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM