我有excel在第一行有列名.我需要阅读它没有None:
a = [Sheet.UsedRange.Rows(1).Value]
[((u'Step', u'Test Case ID', u'Traceability Ref', u'Test Description', u'Display', u'Test conditions', None, None, None, None, None, u'Test Criteria', u'Delay Time(ms)', u'Capture Time(ms)', u'Automation Type(A/S)', u'Expected Output', None, None, None, u'Actual Output', u'Comments'),)]
Run Code Online (Sandbox Code Playgroud)
我累了使用过滤器:
a = filter(None, a)
Run Code Online (Sandbox Code Playgroud)
我需要删除None(这是我的Excel中的空列).
pok*_*oke 10
您的解决方案的问题在于您的列表本身.如果仔细观察,它不是可以过滤的值列表,而是一个列表,带有单个元组,单个元素是另一个元组,然后包含所有值.
因此,如果您修复了列表a,那么它将起作用
a = [Sheet.UsedRange.Rows(1).Value]
a = list(filter(None, a[0][0]))
Run Code Online (Sandbox Code Playgroud)
或者简而言之:
a = list(filter(None, Sheet.UsedRange.Rows(1).Value[0]))
Run Code Online (Sandbox Code Playgroud)