我有一个类似于此的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包等,将不胜感激!