列表推导式在 Pychram 正常运行,在设计器报错
代码如下:
nan = None
grid = [row[1].split(" ") for row in lis1 if row[1] is not None]
grid2 = [i for row in grid for i in row]
print(grid2)
row[1] 图中可以看到均为字符串【SBDK902190】之类,无浮点型数据,在进行分割前已经将 None 值排除
pycharm 与设计器中处理的数据均一致
"[图片] 代码如下: nan = None grid = [row[1].split(' ') for row in lis1 if row[1] is not None] grid2 = [i for row in grid for i ...."
代码如下:
nan = None
grid = [row[1].split(" ") for row in lis1 if row[1] is not None]
grid2 = [i for row in grid for i in row]
print(grid2)
row[1] 图中可以看到均为字符串【SBDK902190】之类,无浮点型数据,在进行分割前已经将 None 值排除
pycharm 与设计器中处理的数据均一致
回帖内容已被屏蔽。
进来学习一下。。
谢谢这位朋友,定义 nan = None 后在 pycharm 上运行确实替换为 None 了,但在设计器上替换没有生效,问题确实出在 NaN,已经用 df.fillna() 处理,非常感谢
我还真没看出您在哪替换 nan 成 none 了
我觉得可能是 lis1 数据有问题, 不是存在空格,而是 格式问题。 某些数据不是 [1, “SDK123”, “SDK456”] 这种格式, 你可以仔细看看。
写在函数里怎么调用呢? 还没试过
存在可能是这个数据是我手打,真实数据虽然看着一样当时有其他编码格式的东西比如空格;测试环境的数据被还原了,我现在也没法复现
头疼
我这可以运行成功呀····
设计器里面代码块组件里面确实用不了,试试在函数里面写
我在 Pycharm 上也是能正常输出的
嗯好的,你试试
lis1 = [[nan, ‘DEVK000001’, ‘测试表调整模型’], [1, nan, ‘测试调整模型’], [1, ‘BWDK000002’, ‘测试调整模型’], [1, ‘SBDK000003’, ‘单品分析表调整模型’], [‘1 2’, ‘SBDK00004 SBDK000005’, ‘耗材利润表底稿调整 耗材利润表(底稿)角色传输’], [nan, nan, nan, nan], [nan, nan, nan], [‘1 2’, ‘SBDK000006 SBDK000007’, ‘耗材利润表(底稿)角色传输 耗材利润表底稿测试创建’]]
lis1 = [[1, “a”, “b”], [‘2’, “SDK123”, “SDK456”] , [nan,nan,nan,nan] ]
看图片,我自己写了个 lis1, 但运行成功。
我不知道你的 lis1 具体是什么,所以给个例子吧 ~
可以给个 lis1 的例子么? 没必要那么具体, 我想在我电脑上试一下,分析错误原因。
python 没有 nan 只有 None,我已经全部替换为 None 了,输出了没看到 nan
nan 是 float 类型 不能作为字符串类型切割