Я относительно новичок в python и пытаюсь создать сводную таблицу, используя Python 3. Однако я получаю KeyError: 0.
Данные, которые я использую, находятся под фреймом данных df1 со столбцами ОПИСАНИЕ ПРОДУКТА, ИМЯ ИМПОРТЕРА, ЦЕНА ЕДИНИЦЫ (INR) и ИМЯ ПОСТАВЩИКА.
Я использую следующий код для создания сводки:
import win32com.client
Excel = win32com.client.gencache.EnsureDispatch('Excel.Application') # Excel = win32com.client.Dispatch('Excel.Application')
win32c = win32com.client.constants
wb = Excel.Workbooks.Add()
Sheet1 = wb.Worksheets("Sheet1")
for i, TestDataRow in enumerate(df1):
for j, TestDataItem in enumerate(TestDataRow):
Sheet1.Cells(i+2,j+4).Value = TestDataItem
cl1 = Sheet1.Cells(2,4)
cl2 = Sheet1.Cells(2+len(df1)-1,4+len(df1[0])-1)
PivotSourceRange = Sheet1.Range(cl1,cl2)
PivotSourceRange.Select()
Sheet2 = wb.Worksheets(2)
cl3=Sheet2.Cells(4,1)
PivotTargetRange= Sheet2.Range(cl3,cl3)
PivotTableName = 'ReportPivotTable'
PivotCache = wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=PivotSourceRange, Version=win32c.xlPivotTableVersion14)
PivotTable = PivotCache.CreatePivotTable(TableDestination=PivotTargetRange, TableName=PivotTableName, DefaultVersion=win32c.xlPivotTableVersion14)
PivotTable.PivotFields('PRODUCT DESCRIPTION').Orientation = win32c.xlRowField
PivotTable.PivotFields('PRODUCT DESCRIPTION').Position = 1
PivotTable.PivotFields('IMPORTER NAME').Orientation = win32c.xlRowField
PivotTable.PivotFields('IMPORTER NAME').Position = 1
PivotTable.PivotFields('UNIT PRICE (INR)').Orientation = win32c.xlPageField
PivotTable.PivotFields('UNIT PRICE (INR)').Position = 1
PivotTable.PivotFields('SUPPLIER NAME').Orientation = win32c.xlPageField
PivotTable.PivotFields('SUPPLIER NAME').Position = 1
DataField = PivotTable.AddDataField(PivotTable.PivotFields('Amount'))
DataField.NumberFormat = '#\'##0.00'
Excel.Visible = 1
wb.SaveAs('ranges_and_offsets.xlsx')
Excel.Application.Quit()
Пожалуйста, помогите.