我得到一个导出的Excel文件,其中显示了ProductItems、位置和一些销售数字。
现在,问题是ProductItems和Locations都在一列中,稍微缩进,如下所示:
ProductItem_1
Location_a | Quantity | Price
Location_b | Quantity | Price
Location_c | Quantity | Price
(110 locations total)
ProductItem_2
Location_a | Quantity | Price
Location_b | Quantity | Price
Location_c | Quantity | Price
ProductItem_1
Location_a | Quantity | Price
Location_b | Quantity | Price
Location_c | Quantity | Price
....等等...例如150个产品项目x 110个位置...
我的想法是在左边插入一个Column,它会是空的,然后把ProductItem的名称复制到每一行,就像这样:
ProductItem_1 | Location_a | QuantityVal | PriceVal
ProductItem_1 | Location_b | QuantityVal | PriceVal
ProductItem_1 | Location_c | QuantityVal | PriceVal
ProductItem_2 | Location_a | QuantityVal | PriceVal
ProductItem_2 | Location_b | QuantityVal | PriceVal
ProductItem_2 | Location_c | QuantityVal | PriceVal
ProductItem_3 | Location_a | QuantityVal | PriceVal
ProductItem_3 | Location_b | QuantityVal | PriceVal
ProductItem_3 | Location_c | QuantityVal | PriceVal
我该怎么做呢?我附上了一个Excel文件的截图......有什么想法如何用Python中的Openpyxl来解决这个问题吗?谢谢
期望的结果如下所示:
1条答案
按热度按时间k3bvogb11#
本示例根据之前的图像生成所需的格式,并包括原始工作表中的第1 - 4行(未更改)。
基本上,该代码从第5行开始遍历各行,该行是列B、C、D和E中数据的标题行。它将从A到E的每个范围移动1,以便列A为空,并将该行的列A中的值设置为先前在单元格A6 help中的值(在变量'colA_val'中)。
以下步骤是可选的
1.数据移动1列后,使用循环应用1列宽,这样标题保持与以前相同的宽度。A列的宽度略有减小,因为B列中的文本宽度较大。
1.标题行中的单元格B5添加了外框。该单元格不包含文本,因为问题中未指定。
...