Python 2.7 Python2.7CSV编写器:使用1列和行中的其余数据写入CSV

Python 2.7 Python2.7CSV编写器:使用1列和行中的其余数据写入CSV,python-2.7,csv,numpy,Python 2.7,Csv,Numpy,因此,我试图将一些代码的结果写入一个输出csv文件,该文件在第一列中包含标签,然后按行写入数据。例如 RXN|ID|ID|u 1 | ID|u 2 | ID|u 3 | 标签1 | Dat1 | Dat2 | Dat3 | 标签2 | Dat1 | Dat2 | Dat3 | 标签3 | Dat1 | Dat2 | Dat3 | 标签4 | Dat1 | Dat2 | Dat3| 目前我正在使用 VarWriteList = [RxnIDS,RxnXjstar,RxnAjstar] with o

因此,我试图将一些代码的结果写入一个输出csv文件,该文件在第一列中包含标签,然后按行写入数据。例如

RXN|ID|ID|u 1 | ID|u 2 | ID|u 3 |
标签1 | Dat1 | Dat2 | Dat3 |
标签2 | Dat1 | Dat2 | Dat3 |
标签3 | Dat1 | Dat2 | Dat3 |
标签4 | Dat1 | Dat2 | Dat3|

目前我正在使用

VarWriteList = [RxnIDS,RxnXjstar,RxnAjstar]
with open(FileName,'wb') as csvfile:

    EfactorWriter = csv.writer(csvfile, dialect='excel', delimiter=',')
    for var in VarWriteList:    
        EfactorWriter.writerow(var[0,:])
其中,
vars
是包含我要写入的数字的numpy数组。我在代码前面名为
Params


有人知道我如何将一列写入CSV,然后在其旁边写入行(例如,索引为从第二列而不是第一列开始写入)?

对于您的应用程序,最好使用熊猫

import pandas as pd
# generate your panda dataframe accordingly.
# I am just brutally making it here for illustration
df = pd.DataFrame({'rxn_id':['label1', 'label2', 'label3', 'label4'], 'id1':[1,2,3,4], 'id2':[5,6,7,8], 'id3':[9,10,11,12]})
df自动包含数据帧索引作为其第一列

df
   rxn_id  id1  id2  id3
0  label1    1    5    9
1  label2    2    6   10
2  label3    3    7   11
3  label4    4    8   12
但是您可以选择不使用
index=False保存它,这正是您想要的

df.to_csv('out.csv', index=False, sep='|') # This will write to file out.csv

谢谢你的回答!如何根据代码前面部分列表中的输入,将其更改为具有可变标题输入?除了变量标题输入外,它还需要一个变量标签选项,该选项将对应于前面代码中的不同数据集?当您生成pandas dataframe时,您可以替换“rxn_id”、“id1”。。。。从输入读取的其他值。{'rxn_id':['label1','label2','label3','label4'],'id1':[1,2,3,4],'id2':[5,6,7,8],'id3':[9,10,11,12]}请通过评论一次问一件事。通过评论来回复并不容易。