为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

SMILET 2021-08-05 17:53:01
我有不同的文件,我在其中选取了一些数据/值,以便生成一个对所有内容进行分组的表格。这是我正在使用的代码的一个小例子: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)但是这段代码只将所有站的所有结果写在一行中。为了让每个站的代码在下一行写入数据/值,我需要更改什么?
查看完整描述

2 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

你想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


查看完整回答
反对 回复 2021-08-05
  • 2 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信