2024-05-15 14:01:37 发布
网友
我想先想办法去掉“无” 列表行。在
y = ['none,none,none,none,none,none,OBJECTID,FULL_ADDRESS', '8724,CANARY', '8759,CARDINAL', '9774,W WABASH', '17745,WESTCHESTER']
我试过:
不能使用y.remove('none'),因为'none'不是y的成员,而是y成员的子字符串。在
y.remove('none')
'none'
y
处理这个问题的简单方法是“规范化”数据结构。如果要将y[0]视为多个值的列表,请将其拆分为多个值的列表,而不是将其保留为字符串。例如:
y[0]
>>> y = [x.split(',') for x in y] >>> y [['none', 'none', 'none', 'none', 'none', 'none', 'OBJECTID', 'FULL_ADDRESS'], ['8724', 'CANARY'], ['8759', 'CARDINAL'], ['9774', 'W WABASH'], ['17745', 'WESTCHESTER']]
现在很容易删除'none'元素,因为有要删除'none'元素:
或者,如果你想破坏性的:
>>> for row in y: ... while 'none' in row: ... row.remove('none')
事实上,看起来您所做的是将一个CSV文件作为一组行读入,而不是作为CSV。如果是这样,真正的解决方案是首先使用^{}模块来读取它。在
如果你不想删除后面的逗号
if 'none,' in y[0]: y[0] = y[0].replace('none,','') print y
如果你不想,你甚至不需要“如果”语句。在
>>> ','.join([x for x in y[0].split(',') if x != 'none']) 'OBJECTID,FULL_ADDRESS'
不能使用
y.remove('none')
,因为'none'
不是y
的成员,而是y
成员的子字符串。在处理这个问题的简单方法是“规范化”数据结构。如果要将
y[0]
视为多个值的列表,请将其拆分为多个值的列表,而不是将其保留为字符串。例如:现在很容易删除
^{pr2}$'none'
元素,因为有要删除'none'
元素:或者,如果你想破坏性的:
事实上,看起来您所做的是将一个CSV文件作为一组行读入,而不是作为CSV。如果是这样,真正的解决方案是首先使用^{} 模块来读取它。在
如果你不想删除后面的逗号
如果你不想,你甚至不需要“如果”语句。在
^{pr2}$相关问题 更多 >
编程相关推荐