【发布时间】:2016-03-30 20:34:47
【问题描述】:
我有两个 excel 文件。参与者完成实验,结果应输入到另一张纸上的两个 excel 文件中。这应该发生在每个新参与者身上。工作表名称是 001,002,...,取决于参与者编号是什么。但是 excelfiles 只是不断被覆盖。
我正在使用的代码:
import pandas
allmeans = numpy.array([[(meanreactiontimeinputsusercongruentpositief),(meanreactiontimeinputsusercongruentnegatief),(meanreactiontimeinputsuserincongruentposneg), (meanreactiontimeinputsuserincongruentnegpos), (meanvalueinputusercongruentpositief), (meanvalueinputusercongruentnegatief), (meanreactiontimeinputsuserincongruentposneg), (meanvalueinputuserincongruentnegpos)]])
to_write = pandas.DataFrame({'Age': age, 'Gender': gender, 'MeanReactionTimeCongruentPos': allmeans[:,0], 'MeanReactionTimeCongruentNeg': allmeans[:,1], 'MeanReactionTimeIncongruentPosNeg': allmeans[:,2], 'MeanReactionTimeIncongruentNegPos': allmeans[:,3], 'MeanValueInputCongruentPos': allmeans[:,4], 'MeanValueInputCongruentNeg': allmeans[:,5], 'MeanValueInputIncongruentPosNeg': allmeans[:,6], 'MeanValueIncongruentNegPos': allmeans[:,7]})
to_write.to_excel('MeansOfUsers.xlsx',sheet_name = str(participantnumber), index = False, startrow = 3, startcol = 2)
allresults= numpy.array([listofrandomizedconditions,inputsuser,reactiontimesuser])
to_write2 = pandas.DataFrame({'Conditions': allresults[0,:], 'Inputs': allresults[1,:], 'Reactionstimes': allresults[2,:]})
to_write2.to_excel('ResultsofUsers.xlsx',sheet_name = str(participantnumber), index = False, startrow=3,startcol=2)
所以基本上它总是使用正确的工作表名称创建这 2 个 excel 文件,但除了添加新工作表之外,现有工作表只会被新工作表覆盖。我该如何解决?
编辑:我发现使用 openpyxl 的工作簿,我可以在加载工作簿后使用 create_sheet 在其中获取新工作表,但是我坚持如何使用 pandas.DataFrame 编辑该确切工作表我创建。
【问题讨论】:
-
以下链接是否回答了您的问题? stackoverflow.com/questions/20219254/…'