我有一个在第一行有列名的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中的空列)。
发布于 2013-12-23 05:48:12
你的解决方案的问题在于你的列表本身。如果仔细观察,就会发现它不是一个可以过滤的值列表,而是一个包含单个元组的列表,其中单个元素是另一个包含所有值的元组。
因此,如果您修复了列表a,那么它就会正常工作
a = [Sheet.UsedRange.Rows(1).Value]
a = list(filter(None, a[0][0]))或者简而言之:
a = list(filter(None, Sheet.UsedRange.Rows(1).Value[0]))发布于 2013-12-23 05:48:39
试试这个:
while None in a:
a.remove(None)https://stackoverflow.com/questions/20734327
复制相似问题