Как создать программу, которая может распечатывать прибыль от продаж и оставшиеся запасы? - PullRequest
0 голосов
/ 29 марта 2019

Файл merge.xlsx здесь Что касается файла Excel «merge.xlsx», мой вопрос требует, чтобы я сравнил запасы покупки и продажи. Если последний запас недостаточен для удовлетворения количества единиц, запрошенных в «продажах» в конкретное время, программа должна автоматически пропустить его и перейти к следующему возможному.

Это сортировка предметов методом маскировки.

import pandas as pd
pd.options.display.max_rows = 12
xlsx = pd.ExcelFile('merge.xlsx')
pd.set_option('display.max_columns', 6)
print(type(xlsx))
print(xlsx.sheet_names)
sr = [1, 2] 

sheets = [] 
for i, s in enumerate(xlsx.sheet_names): 
    sheets += [ xlsx.parse(s, skiprows=sr[i]) ]

for s in sheets: 
    s['item name'] = s['item name'].apply(str.strip)

mask = ( sheets[0]['item name'] == 'apple' )
df_apple = sheets[0][ mask ] 
mask2 = (sheets[1]['item name'] == 'apple')
df2_apple = sheets[1][mask2]

total_apple = pd.concat([df_apple, df2_apple], ignore_index = True, sort = False)
total_apple.sort_values(by = ['date/time'], inplace=True,ascending=True)
columns = ['date/time','item name','cost per unit','units 
purchased','price per unit','units sold']
total_apple.reindex(columns)

print(total_apple)

Это вывод

January 2017:
    apple: remaining 2 items, profit of sales = $123.45
    orange: remaining 0 items, profit of sales = -$456.78
    durian: remaining 12 items, profit of sales = $789.01
    watermelon: remaining 6 items, profit of sales = $0.00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...