我写了一段代码,从不同的csv文件读取列并写入另一个csv文件。我希望将新列添加到末尾,即最后一列,但我的实现使该列添加到底部。假设a已经是现有的列,b是添加的新列,下面是我得到的结果a,
1,
2,
3,
b,
1,
2,
3,
但我需要的是这样的东西
^{pr2}$
这是我正在处理的代码。在wwr=["wwr15","wwr30","wwr45","wwr60"]
shade=["E1-geo1"]
climate=["Madrid"]
orientations=['East','North','South','West']
colMap={'East':3,'North':2,'South':1,'West':0}
for shd in shade:
for clim in climate:
for orientation in orientations:
for win in wwr:
inp_filename=shd+"_"+clim+"_"+win+"_DC_ctrl3.csv"
col=pd.read_csv(inp_filename,usecols=[colMap[orientation]])
output_fname=shd+"_"+clim+".csv"
if os.path.isfile(output_fname):
col.columns=[shd+" "+orientation+" "+clim+" "+win]
col.to_csv(output_fname,index='false',mode='a')
else:
col.columns=[shd+" "+orientation+" "+clim+" "+win]
col.to_csv(output_fname,index='false',mode='w')
在上面的代码中,inp_filenamecsv文件有四列8760行,我将以特定的顺序(基于方向)读取每个列并将其写入output_fnamecsv文件。在
任何帮助都是非常感谢的。在
Edit1:我也尝试过这种方法,将每一列转置到一行,并将它们全部追加,但我发现每一行都有不需要的索引。在col=pd.read_csv(filename,usecols=[colMap[orientation]], index_col=False)
df_read=pd.DataFrame.transpose(col)
outputname=shd+"_"+clim+".csv"
df_read.to_csv(outputname,index_label=shd+" "+orientation+" "+clim+" "+win, mode='a', header='False')
我的结果是每列都是这样(2行)E1-geo1 East Madrid wwr15,0,1,2,3,4,5,6,7,8,..........
1.3,1,1,1,1,1,1,1,1,1,1,1,1,1,...........
但我需要的是每列都是这样的(只有1行)E1-geo1 East Madrid wwr15,1,1,1,1,1,1,1,1,1,1,1,1,1.........
在我写这个到csv文件后,我如何一次转置所有的?在