سؤال

كيف يمكنني إنشاء ورقة عمل (ضمن مصنف Excel) مع جدول محوري يستخدم Python Libs مثل Pyexcelerator / XLRD؟ أحتاج إلى إنشاء تقرير يومي يحتوي على جدول محوري لتلخيص البيانات على أوراق أخرى. يتمثل أحد الخيارات في الحصول على قالب فارغ أقوم بنسخه وأملأه بالبيانات. في هذه الحالة ، هل هناك طريقة لتحديث المحور من الكود؟ أي اقتراحات أخرى؟

هل كانت مفيدة؟

المحلول

يرجى توضيح (من خلال تحرير سؤالك) ما إذا كان "الورقة" عبارة عن اختصار لـ "جدول البيانات" ويعني ملف XLS بالكامل ، أو ما إذا كان اختصارًا لـ "ورقة العمل" ، وهو مكون من "المصنف".

إذا كانت "Pivot Table" تعني آلية Excel ، فأنت محظوظ ، لأنه لا يمكن إنشاؤه إلا عن طريق Excel. ومع ذلك ، إذا كنت تعني "تطفوًا متقاطعًا" تقوم بإنشاء نفسك باستخدام Python ومكتبة مناسبة ، فيمكنك القيام بذلك باستخدام الثلاثي من XLRD و XLWT و XLUTILS.

XLRD يبدو أنك تعرف عنها.

XLWT هو شوكة من pyexcelerator مع الأخطاء ثابتة والعديد من التحسينات. يبدو أن Pyexcelerator لا يتم الحفاظ عليها.

Xlutils هي مجموعة من وحدات الأداة المساعدة. يمكن استخدام Xlutils.Copy لإنشاء كائن XLWT Workbook من كائن كتاب XLRD ، بحيث يمكنك إجراء تغييرات على كتاب XLWT وحفظه في ملف.

ها هو الخاص بك توقف واحد لمزيد من المعلومات حول الحزم الثلاث, ، إلى جانب برنامج تعليمي ، وروابط إلى قائمة Google-Group/Aplicing Dist التي يمكنك استخدامها للحصول على المساعدة.

نصائح أخرى

حاول إلقاء نظرة على هذا: Python: تحديث Pivottables في ورقة العمل

إذا اكتشفت كيف تقوم بإنشاء الجداول المحورية ، فيمكنك استخدام الكود الخاص بي لتحديثها

لا أعتقد أنه يمكنك إضافة جدول محوري بشكل برمجي باستخدام xlwt.

لكن نهجك الثاني (ملء كتاب مصنف تم تكوينه مسبقًا) يبدو معقولًا.

يمكنك تحديث الجدول المحوري باستخدام ماكرو VBA في مصنف القالب. للقيام بذلك تلقائيًا ، قم بإنشاء أ WorkBook_Open معالج الأحداث.

رمز VBA لتحديث جدول محوري هو:

Sheet1.PivotTables(1).PivotCache.Refresh
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top