"列顺序在尝试将数据框转换为Excel文件时出现错误"

2024-05-23 22:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

各位,我在使用时遇到了一些问题panda.dataframework显示数据并保存到excel文件:

我的目标是将数据帧保存到excel文件中,代码如下:

data_final = {'Case index':ranked_index,
          'Similarity':prob_list,
          'Case description':content_info}
frame = pandas.DataFrame(data_final)
writer = pandas.ExcelWriter(rooter + '\\Final_Score_Result.xlsx')
frame.to_excel(writer, 'Results', index = False)
writer.save()

结果如下:
enter image description here

但是我想保持列的顺序和我在字典中提供的一样:像这样:

enter image description here

你有什么办法解决这个问题吗???在


Tags: 文件数据代码目标pandasdataindexexcel
3条回答

您需要在DataFrame构造函数中定义顺序,因为python 3.6下的dict不可排序:

frame = pandas.DataFrame(data_final, columns=['Case index','Similarity', 'Case description'])

writer = pandas.ExcelWriter(rooter + '\\Final_Score_Result.xlsx')
frame.to_excel(writer, 'Results', index = False)
writer.save()

样本

^{pr2}$

{excel正在编写传递参数。在

frame.to_excel(writer, 'Results', index = False,
               columns=['Case index','Similarity', 'Case description'])

另一种方法是使用OrderedDict:

import collections

data_final = collections.OrderedDict([('Case index',ranked_index),
      ('Similarity',prob_list),
      ('Case description',content_info)])
frame = pandas.DataFrame(data_final)

如果您只使用pandas作为Excel编写器,那么另一种剥鸡皮的方法是使用csv.DictWriter(),而不是{}。在

相关问题 更多 >