Python使用排序索引写入Excel
我已经编写了python代码,并且正在尝试将矩阵写入Excel。 我用python创建了一个dict,并使用DataFrame来构造矩阵。 问题是,python中的词典无法排序。同样地,当我写进Excel时,我得到了一个没有排序的矩阵Python使用排序索引写入Excel,python,sorting,dictionary,export-to-excel,Python,Sorting,Dictionary,Export To Excel,我已经编写了python代码,并且正在尝试将矩阵写入Excel。 我用python创建了一个dict,并使用DataFrame来构造矩阵。 问题是,python中的词典无法排序。同样地,当我写进Excel时,我得到了一个没有排序的矩阵 from pandas import DataFrame import pandas as pd list = ['6M', '1yr', '2yr', '10yr', '30yr'] Corr = {} for line in list: for
from pandas import DataFrame
import pandas as pd
list = ['6M', '1yr', '2yr', '10yr', '30yr']
Corr = {}
for line in list:
for line2 in list:
## actual calculation is more complicated
## I just show a simple example to illustrate the problem
Corr.setdefault(line,{}).update({line2: 1})
df = DataFrame(Corr)
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()
输出类似于
它不是按索引排序的。正如您所说,Python中的字典是不排序的。幸运的是,有一个模块可以帮助-。从文档中: OrderedDict是一种记录键首次插入顺序的dict 要使用它,只需
导入集合
并将Corr={}
替换为Corr=collections.orderedict()
词典现在将保留条目的顺序,您可以像以前一样导出它。非常感谢。这很有帮助。