2017-03-09 30 views
1

我發現很多問題,其中人們希望匹配列表中的項目,但是我的問題略有不同,造成一些麻煩。我在Windows 7機器上使用Python 3.6。在整個數據框中匹配項目的Python

假裝我是一家連鎖雜貨店的首席執行官,每個星期我都會爲每個商品獲得每個商店的庫存數量的excel文件。哪裏有2列,第一列是商店的城市和商品的名稱,第二列是商品的數量。每個項目在每個項目之前都有4個空白區域,而城市沒有空白區域,但兩者都在同一列。

|New York |NAN| 
| Apples |10 | 
| Oranges |20 | 
| Pears |30 | 
|Los Angeles|NAN| 
| Apples |20 | 
| Oranges |40 | 
|Dallas  |NAN| 
| Apples |30 | 
| Oranges |60 | 
| Pears |90 | 

這需要上傳到服務器每週一次的庫存控制。我與SKU的交叉引用也與熊貓數據框中的每個商店和商品相關。

這裏是棘手的部分。我現在希望將其與我的SKU匹配,以便我可以正確地獲取每個商店的每個SKU的庫存。我的庫存數據幀是:

|City|Item  |#| 
|NY | Apples |?| 
|NY | Oranges |?| 
|NY | Pears |?| 
|LA | Apples |?| 

我的想法是在列表紐約先來看看,一旦我發現紐約,迭代下降線直到我找到我的水果。問題是如圖所示,洛杉磯沒有梨子,如果紐約用完,線路將會丟失,而不僅僅是庫存爲0。所以一個for循環將迭代到達拉斯,並使用它的庫存,而不是返回紐約沒有梨。簡而言之,我如何確保for循環不會越過我想要獲得的城市並返回不同的城市庫存?

回答

1

不是直接將數據加載到熊貓中,而是使用xlrd解析Excel文件,使用正確的city | product | count條目重新格式化文件,並將其提取到數據框中。然後,您應該能夠使用標準

將此列表與SKU進行交叉參考
相關問題