使用python在excel文件中组织数据

时间:2016-02-05 23:37:04

标签: python excel pandas xlsxwriter

我有一个类似于此的excel文件:

**Part**  **Quantity**  **Category**  **Board**
 part1        4            RES         board1
 part2        3            CAP         board4
 part3        2            CAP         board3
              3            CAP         board2
              4            CAP         board4
 part4        3            DIO         board2

无限广告。理想情况下,我想要的是可以采用列出的5-6个板并为它们创建一个列,并为每个单独的部分放置相应的数量,换句话说,

**Part**  **Category**  **Board1**  **Board2**  **Board3**  **Board4**
 part1        RES           4           0           0           0
 part2        CAP           0           0           0           0 
 part3        CAP           0           3           2           4        
 part4        DIO           0           3           0           0

我不要求其他条目用零填充。它们可以留作未填充的细胞。请记住,我从未按上面分组的excel文件开始,也就是说,重复部件编号,并填充每一行。但是,我不能有重复的部分,这就是为什么我使用pandas groupby命令来组织它们并有效地删除重复项。这是我目前非常简单的脚本:

import pandas as pd
import numpy as np
import sys
import subprocess


#load csv file
df = pd.read_excel('/home/Linux/.../raw-inventory.xlsx')

#group by part number
organize = df.groupby(['Part','Value','Description','Qty','Board']).sum()

#open to .csv
organize.to_excel('organizedlist.xlsx')

#opening outputted file
subprocess.call(organize, shell=True)

print('Done')

我一直在寻找熊猫和xlsxwriter,我还没有看到一个很好的方法来做到这一点。也许这里有人有想法?

最好也使用原始的.xlsx文件,但必须有一种方法来删除重复的部分。这就是我使用groupby pandas功能的原因。它保留了所有其他数据,并消除了“'部分”下的多个实例。柱。任何建议,从简单到复杂,推荐的python包等,将不胜感激!

0 个答案:

没有答案