首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python格式化excel并在excel中写入

使用python格式化excel并在excel中写入
EN

Stack Overflow用户
提问于 2021-03-19 07:11:36
回答 1查看 48关注 0票数 0

我有一个未格式化的excel表作为输入文件.我需要重新安排和写入另一个excel文件。我需要计算在不同项目和不同客户中工作的电磁脉冲工作小时数。

这里RAM仅在第一个项目中工作,但mohan在第一个和第二个项目中工作,我们必须计算他的第一和第二工作人力资源。

输入

输出

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-19 08:20:57

代码语言:javascript
复制
>>> df  # input dataframe
   Employee Name      Project Client  hours
0            Ram          NaN    NaN    NaN
1            NaN  1st Project    NaN    NaN
2            NaN          NaN    ABC    5.0
3            NaN          NaN    NaN    5.0
4          Mohan          NaN    NaN    NaN
5            NaN  1st Project    NaN    NaN
6            NaN          NaN    DEF   10.0
7            NaN          NaN    DEF   10.0
8            NaN  2nd Project    NaN    NaN
9            NaN          NaN    GEH    1.0
10           NaN          NaN    NaN    1.0
11           NaN          NaN    NaN   11.0

对于除最后一列之外的每一列,将NaN替换为以前的值,并将该列移至索引,然后删除所有为空的行。最后,删除初始RangeIndex。

代码语言:javascript
复制
for col in df.columns[:-1]:
    df[col] = df[col].ffill()
    df = df.set_index(col, append=True)
    df = df.dropna(how="all")
df = df.droplevel(0)
代码语言:javascript
复制
>>> df  # output dataframe
                                  hours
Employee Name Project     Client
Ram           1st Project ABC       5.0
                          ABC       5.0
Mohan         1st Project DEF      10.0
                          DEF      10.0
              2nd Project GEH       1.0
                          GEH       1.0
                          GEH      11.0

编辑:输出正确的excel文件

代码语言:javascript
复制
df.set_index("hours", append=True).to_excel("output.xlsx")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66703907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档