我运行此代码将dictionary的结果导出到excel,但返回为空。在我记忆中,我可以使用以前相同的代码将字典导出到excel。
import pandas as pd
allJobs = {'A':[1,2,3],
'B':[2,3,4],
'C':[1,3],
'D':[3,4]}
Jobs = ['A','C']
JobsWithNums = {}
for jobs in allJobs.keys():
if jobs in Jobs:
JobsWithNums[jobs] = allJobs[jobs]
print(JobsWithNums)
## output = {'A':[1,2,3],
## 'C':[1,3]}
df = pd.DataFrame(JobsWithNums, columns=['Jobs','Nums'])
df.to_excel("file.xlsx")
## excel output
## Jobs Nums
## A 1
## A 2
## A 3
## C 1
## C 3
try:
for key, value in zip(allJobs.keys(), allJobs.values()):
if key in Jobs:
JobsWithNums[key] = value
df = pd.Series(JobsWithNums).rename_axis('Jobs').reset_index(name='Nums')
df = df.explode('Nums') #per OP's comment on this answer.
df.to_excel("file.xlsx")
df
Jobs Nums
0 A 1
0 A 2
0 A 3
1 C 1
1 C 3
我们可以使用panda在您的字典中阅读,并使用isin
进行一些基本的整形和过滤
df = pd.DataFrame.from_dict(allJobs,
orient='index')
.stack()
.reset_index(0)
.rename(columns={'level_0' : 'Jobs',
0 : 'Nums'})
df1 = df[df['Jobs'].isin(['A','C'])]
print(df1)
Jobs Nums
0 A 1.0
1 A 2.0
2 A 3.0
0 C 1.0
1 C 3.0