猿问

如何使用for循环逐行编写表格

我有不同的文件,我在其中选取了一些数据/值,以便生成一个对所有内容进行分组的表格。


这是我正在使用的代码的一个小例子:


stations = ["AAA", "BBB", "CCCC", "DDDD"]

datadir = "/home/data/"

table = []

for station in stations:

    os.chdir(datadir)

    nc = Dataset(station + ".nc", 'r+')

    p = (nc.variables['Rainf'][:,0,0]

    evap = nc.variables['Qle'][:,0,0]

    table.append(p)

    table.append(evap)

    table_t=list(table)

    with open (datadir + "table.csv", 'w') as ofile:

        writer = csv.writer(ofile)

        writer.writerow(table_t)

但是这段代码只将所有站的所有结果写在一行中。为了让每个站的代码在下一行写入数据/值,我需要更改什么?


SMILET
浏览 250回答 2
2回答

qq_遁去的一_1

你想writer.writerows(table_t)改用。writerows() 方法进行迭代并为列表中的每个项目创建行。例子:data = [list(i) for i in 'abcde fhghi jklmn opqrs'.split()]# [['a', 'b', 'c', 'd', 'e'], #  ['f', 'h', 'g', 'h', 'i'], #  ['j', 'k', 'l', 'm', 'n'], #  ['o', 'p', 'q', 'r', 's']]with open('test.csv','w') as file:         writer = csv.writer(file, lineterminator='\n')         writer.writerows(data)# test.csv# a,b,c,d,e# f,h,g,h,i# j,k,l,m,n# o,p,q,r,s
随时随地看视频慕课网APP

相关分类

Python
我要回答