通过熊猫魔术制作的excel电子表格

xl-link的Python项目详细描述


#xllink熊猫

快速入门:https://0hughman0.github.io/xl_link/quick start.html

安装:`pip install xl_link`

xllink旨在在pandas数据框架和excel电子表格之间提供一个强大的接口。

xllink调整dataframe.to_excel方法以返回其自己的xlmap对象。

此xlmap存储有关电子表格中写入数据帧位置的所有信息。

允许您使用大熊猫索引方法,即LOC、ILOC、AT和IAT。xllink使用起来仍然很直观。但是,xlmap不会返回数据帧、序列或标量,而是返回与电子表格中结果位置相对应的xlrange或xlcell。

此外,xlmaps还提供了excel引擎的包装(目前支持xlsxwriter和openpyxl),使在excel中创建图表更加直观。为Excel图表提供类似dataframe.plot的界面。

##图表演示

创建复杂图表非常简单:

>>> f = XLDataFrame(index=('Breakfast', 'Lunch', 'Dinner', 'Midnight Snack'),
                    data={'Mon': (15, 20, 12, 3),
                          'Tues': (5, 16, 3, 0),
                          'Weds': (3, 22, 2, 8),
                          'Thur': (6, 7, 1, 9)})
>>> xlmap = f.to_excel('Chart.xlsx', sheet_name="XLLinked", engine='openpyxl')
>>> xl_linked_chart = xlmap.create_chart('bar', title="With xl_link", x_axis_name="Meal", y_axis_name="Calories", subtype='col')
>>> xlmap.sheet.add_chart(xl_linked_chart, 'F1')
>>> xlmap.writer.save()

制作此图表:

啊![多条形图](https://raw.githubusercontent.com/0Hughman0/xl_link/master/examples/BarExample.png

##格式化演示

对表格应用条件格式非常简单:

>>> import numpy as np
>>> xy_data = XLDataFrame(data={'Y1': np.random.rand(10) * 10,
                                'Y2': np.random.rand(10) * 10})
>>> xlmap = xy_data.to_excel("ConditionalFormatting.xlsx", engine='xlsxwriter')
>>> xlmap.sheet.conditional_format(xlmap.data.range, # position of data within spreadsheet
                                   {'type': '3_color_scale',
                                    'min_type': 'num', 'min_value': xlmap.f.min().min(), 'min_color': 'green',
                                    'mid_type': 'num', 'mid_value': xlmap.f.mean().mean(), 'mid_color': 'yellow',
                                    'max_type': 'num', 'max_value': xlmap.f.max().max(), 'max_color': 'red'})
>>> xlmap.writer.save()

啊![条件格式](https://raw.githubusercontent.com/0Hughman0/xl_link/master/examples/ConditionalFormattingExample.png

查看示例文件夹以获取更多示例!

此软件包使用xlsxwriter在bsd许可证下的实用程序功能,可在此处找到:https://github.com/jmcnamara/XlsxWriter

##兼容性

熊猫>;=0.19xlsxwriter>;=0.9openpyxl>;=2.4

最新测试版本:

熊猫=0.23.4 xlsxwriter==1.0.7-(如果需要,使用openpyxl推荐使用股票图表的潜在问题) openpyxl==2.5.5

版权所有(C)2018 0Hughman0

特此免费授予获得本软件副本和相关文档文件(以下简称“软件”)的任何人使用本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售本软件副本的权利,并在符合以下条件的情况下,允许向其提供软件的人员这样做:

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

<软件>提供“原样”,无任何担保,明示或默示,包括但不限于适销性、适合特定用途和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件引起的或与之相关的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓如何在java字符串中获取RATE的值   java ANT在哪里输出编译器错误?   在java中,while循环在何处启动对象   javacom。谷歌。格森。内部的LinkedTreeMap无法强制转换到我的类   java单选按钮。isSelected()方法未返回正确的响应   嵌入式系统中applet中的java相对码基字段   如何在eclipse中将Java应用程序附加到jvm探查器?   java为什么Android应用程序崩溃?   在java中拖放上传后保持文件夹结构   爪哇多领导人选举问题   java Springs RestTemplate如何处理postForEntity()中的错误响应   Java如何用前导零递增整数字符串?   java Android将文本作为图像共享给其他应用程序   Java搜索替换   java isDirectory()不适用于UNIX目录   java我们可以得到显示测试类是否通过或失败的TestNG报告吗   Java类对象排序和分组   简单Java幂递归   java在处理MethodArgumentNotValidException时如何访问请求对象?