用NaN替换列表中的空字符串

Jes*_*dem 2 python string list

我正在尝试用已知字符串(例如“ NAN”)替换列表中的空字符串。我正在使用以下命令

a = ['','','asdf']    
["nan" if x =='' else x for x in a]
Run Code Online (Sandbox Code Playgroud)

该代码在单独使用时可以正常工作,但是当我尝试在主代码中使用它时,则无法正常工作。我的主要代码如下:

data = [ ('plant_data.xlsx', 0, []),('sorg.xlsx', 1, ['','','asdf'])]#,('sloc.xlsx', 1, ['307-040N'])];


for fl in data:
    filename = fl[0];
    filename = filename[:-5];

    f = open('IC1_Results\%s.txt' %filename,'w');

    if fl[1] == 0:
        f.write("All Part Numbers exist");
        f.close()

    elif fl[1] == 1:
        a = fl[2];
        print type(a)

        ["nan" if x == '' else x for x in a]

        print fl[2],a
Run Code Online (Sandbox Code Playgroud)

Mat*_*ieu 5

它正在工作,但是您只是在运行它而无需将输出分配到任何位置。用以下方法更改行:

fl[2] = ["nan" if x == '' else x for x in a]
Run Code Online (Sandbox Code Playgroud)

或许:

a = ["nan" if x == '' else x for x in a]
Run Code Online (Sandbox Code Playgroud)

根据您要存储的位置...