我在第一行有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'),)]
我厌倦了使用过滤器:
a = filter(None, a)
我需要删除None
(我的Excel中的空列)。
答案 0 :(得分:10)
您的解决方案的问题在于您的列表本身。如果仔细观察,它不是一个可以过滤的值列表,而是一个列表,只有一个元组,单个元素是另一个元组,然后包含所有值。
因此,如果您修复了列表a
,那么它就能正常工作
a = [Sheet.UsedRange.Rows(1).Value]
a = list(filter(None, a[0][0]))
或简而言之:
a = list(filter(None, Sheet.UsedRange.Rows(1).Value[0]))
答案 1 :(得分:2)
试试这个:
while None in a:
a.remove(None)