使用panda导出空白excel



我运行此代码将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

最新更新