Каждый день я получаю много разных файлов от разных поставщиков, и размеры сильно различаются. Я ищу какой-нибудь динамический код c, который решит, что актуально для всех файлов. Я хотел бы подумать, как разбить этот файл на компоненты (например, df1, df2, df3
), что облегчит анализ.
В основном первые 6 строк предназначены для общей информации о магазине (df1
).
2-й компонент зарезервирован для конкретных c продаж товаров (начиная со строки 9, заканчивая РАЗЛИЧНОЙ строкой в каждом файле), и я не уверен, как это зафиксировать. Я пробовал что-то вроде
numb = df.loc['Type of payment'].index[0] - 2
, но он вводит кортеж вместо расположения строки (int). Как я могу сохранить upperrange
и lowerrange
, чтобы быть динамическим c (int), чтобы каждый день он приносил правильные данные df2, которые я ищу?
Та же проблема существует в внизу в разделе «Тип оплаты» - вы заметите, что криптография включена на 1-й день, но не на 2-й. Мне нужно найти способ получить динамический диапазон c, чтобы удалить ошибочную информацию и сохранить целостность всего остального. Я думаю, что обнаружение lowerrange
позволит мне выполнить захват с этой точки до конца листа, но я открыт для предложений.
df = pd.read_csv('GMSALES.csv', skipfooter=2)
upperrange = df.loc['Item Number'] #brings in tuple
lowerrange = df.loc['Type of payment'] #brings in tuple
df1 = df.iloc[:,7] #this works
df2 = df.iloc[:('upperrange':'lowerrange')] # this is what I would like to get to
df3 = df.iloc[:(lowerrange:)] # this is what I would like to get to
