Создайте сводную таблицу с помощью xlwingsPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создайте сводную таблицу с помощью xlwings

Сообщение Anonymous »

Я пытаюсь автоматизировать создание сводной таблицы с помощью xlwings. Вот созданный мною случайный фрагмент кода, который должен создавать сводную таблицу, но я получаю ошибку в строке, где создается сводная_таблица. Я не могу пройти дальше этой строки, и мой отладчик немедленно завершает работу.
Есть идеи, что происходит?
import xlwings as xw
from xlwings import constants

def get_pivot():
# Create a sample DataFrame
df = pd.DataFrame({
'Date': pd.date_range(start='2023-01-01', periods=100),
'Product': np.random.choice(['A', 'B', 'C'], 100),
'Region': np.random.choice(['North', 'South', 'East', 'West'], 100),
'Sales': np.random.randint(100, 1000, 100)
})

# Start an Excel application
wb = xw.Book(path_to_excel)
ws = wb.sheets["Sheet1"]

# Clear the contents of the worksheet
ws.clear_contents()

# Write the DataFrame to Excel
ws.range('A1').options(index=False).value = df

# Get the data range
data_range = ws.range('A1').expand()

# Create PivotCache
pivot_cache = wb.api.PivotCaches().Create(SourceType=constants.PivotTableSourceType.xlDatabase, SourceData=data_range.api) # , Version=constants.PivotTableVersionList.xlPivotTableVersion14)

pivot_table = pivot_cache.CreatePivotTable(TableDestination=ws.range('F2'), TableName='SalesPivot')

# Configure pivot table fields
pivot_table = ws.api.PivotTables("SalesPivot")

# Configure the pivot table fields
pivot_table.PivotFields('Date').Orientation = xw.constants.PivotFieldOrientation.xlRowField
pivot_table.PivotFields('Date').NumberFormat = "yyyy-mm-dd"
pivot_table.PivotFields('Product').Orientation = xw.constants.PivotFieldOrientation.xlColumnField
pivot_table.PivotFields('Region').Orientation = xw.constants.PivotFieldOrientation.xlPageField
pivot_table.PivotFields('Sales').Orientation = xw.constants.PivotFieldOrientation.xlDataField

# Set Data Field
sales_field = pivot_table.PivotFields('Sales')
sales_field.Orientation = xw.constants.PivotFieldOrientation.xlDataField
sales_field.Function = xw.constants.ConsolidationFunction.xlSum

# Save the workbook
print("Pivot table created successfully!")

if __name__ == '__main__':
xw.serve()

Я выполнял отладку с помощью отладчика xlwings, код всегда выходит из отладчика каждый раз, когда обрабатывается сводная таблица строк.
Я изменил строку, в которой я добавлен
Version=constants.PivotTableVersionList.xlPivotTableVersion14

но это тоже не работает:
pivot_cache = wb.api.PivotCaches().Create(SourceType=constants.PivotTableSourceType.xlDatabase, SourceData=data_range.api, Version=constants.PivotTableVersionList.xlPivotTableVersion14)


Подробнее здесь: https://stackoverflow.com/questions/791 ... ng-xlwings
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создайте сводную таблицу с помощью xlwings
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Создайте сводную таблицу с помощью xlwings
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Создайте сводную таблицу и добавьте дополнительные столбцы из другого фрейма данных.
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как преобразовать сводную таблицу в Epplus в обычную таблицу на C#?
    Anonymous » » в форуме C#
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Как добавить фильтры столбцов в сводную таблицу с помощью пакета FreeSpire.Xls в .net C#
    Anonymous » » в форуме C#
    0 Ответы
    113 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»