如何正确分割数据行-ValueError:太多值无法解包

时间:2019-01-19 20:52:35

标签: python-3.x

我正在尝试解析edl(编辑决策列表)以获取一些值并将其打包到csv文件中。构建自动过滤器和其他一些用户过滤器方法后,我遇到了一些edls问题。

这是未经过滤的edl:

**num, name, v, c, dur,  SourceIN, SourceOUT, RecordIN, RecordOUT**
016  AX       V     C        00:00:10:08 00:00:12:11 00:00:28:19 00:00:30:22
* FROM CLIP NAME: 00067.MTS

017  AX       V     C        00:00:01:04 00:00:02:24 00:00:30:22 00:00:32:17
* FROM CLIP NAME: 00097.MTS

018  AX       V     C        00:00:02:24 00:00:02:24 00:00:32:17 00:00:32:17
FCM: NON-DROP FRAME
018  AX       V     D    025 00:00:15:22 00:00:14:10 00:00:32:17 00:00:34:04
EFFECTS NAME IS CROSS DISSOLVE
* FROM CLIP NAME: 00097.MTS
* TO CLIP NAME: 00097.MTS
M2   AX       025.0                      00:00:02:24 
M2   AX       -25.0                      00:00:15:22 

019  AX       V     C        00:00:14:10 00:00:14:10 00:00:34:04 00:00:34:04

这是myfiltered edl的样子:

**num, name, v, c, dur,  SourceIN, SourceOUT, RecordIN, RecordOUT**
016  AX       V     C        00:00:10:08 00:00:12:11 00:00:28:19 00:00:30:22
017  AX       V     C        00:00:01:04 00:00:02:24 00:00:30:22 00:00:32:17
018  AX       V     C        00:00:02:24 00:00:02:24 00:00:32:17 00:00:32:17
018  AX       V     D    025 00:00:15:22 00:00:14:10 00:00:32:17 00:00:34:04
019  AX       V     C        00:00:14:10 00:00:14:10 00:00:34:04 00:00:34:04

我正在尝试将这行信息拆分为: num,名称,v,c,dur,SourceIN,SourceOUT,RecordIN,RecordOUT。 “ ValueError:太多值无法解包(预期为8)”

我知道,当删除“ dur”程序的第5列时,因为值025而在第二个018处停止执行。 但是当所有列的程序都无法启动时,因为该列的第一个索引直到第二个018都没有信息。

我的问题是如何拆分数据以获取所有9列数据。 谢谢, 梅西克

            num, name, v, c,  SourceIN, SourceOUT, RecordIN, RecordOUT= a.split()
            print('{},{},{},{},{},{},{},{},{},'.format(num, name, v, c,dur,  SourceIN, SourceOUT, RecordIN, RecordOUT))```


0 个答案:

没有答案