python中的人性化excel创建

hfexcel的Python项目详细描述


hfexcel 0.0.17CircleCIcodecov

python中的人性化excel创建

依赖项的开发版本

  • python 3.x
  • xlsxwriter==1.1.8
  • jsonschema==2.6.0
  • pytest
  • codecov
  • pytest cov

安装

pip install hfexcel

功能

  • 人类可读编码,建筑
  • 基于对象定向的可读模型:HFExcelWorkbookHFExcelSheetHFExcelColumnHFExcelColumn
  • HFExcelWorkbookFilter:使用预定义的json模式从json数据(pythondict)填充excel的助手类。(默认值:hfexcel.schemas.DEFAULT_SCHEMA
  • HFExcelWorkbook.output:在输入为空的filename (string)上创建输出,并使用链接到工作簿本身的类型BytesIO创建了output参数

游乐场

将json格式输入的嵌套对象{sheet>;column>;row}转换为excel格式的示例

fromhfexcelimportHFExcelfromhfexcel.schemasimportDEFAULT_SCHEMAexcel_data={"sheets":[{"key":"sheet1","name":"Example Sheet 1","columns":[{"name":"Column 1","width":2,"args":["headline"],"rows":[{"data":"Column 1 Row 1"},{"data":"Column 1 Row 2"}]},{"name":"Column 2","rows":[{"data":"Column 2 Row 1",},{"data":"Column 2 Row 2",}]},{"name":"Column 3","rows":[{"data":"Column 3 Row 1"},{"data":"Column 3 Row 2"}]}]}],"styles":[{"name":"headline","style":{"bold":1,"font_size":14,"font":"Arial","align":"center"}}]}hf_workbook=HFExcel.hf_workbook('example.xlsx',set_default_styles=False)hf_workbook.filter().populate_with_json(excel_data,schema=DEFAULT_SCHEMA)hf_workbook.save()

面向对象的python语法示例

fromhfexcelimportHFExcelhf_workbook=HFExcel.hf_workbook('example.xlsx',set_default_styles=False)hf_workbook.add_style("headline",{"bold":1,"font_size":14,"font":"Arial","align":"center"})sheet1=hf_workbook.add_sheet("sheet1",name="Example Sheet 1")column1,_=sheet1.add_column('headline',name='Column 1',width=2)column1.add_row(data='Column 1 Row 1')column1.add_row(data='Column 1 Row 2')column2,_=sheet1.add_column(name='Column 2')column2.add_row(data='Column 2 Row 1')column2.add_row(data='Column 2 Row 2')column3,_=sheet1.add_column(name='Column 3')column3.add_row(data='Column 3 Row 1')column3.add_row(data='Column 3 Row 2')# In order to get a row with coordinates:# sheet[column_index][row_index] => rowprint(sheet1[1][1].data)assert(sheet1[1][1].data=='Column 2 Row 2')hf_workbook.save()

将基于内联索引的{sheet>;[column:row]}输入从json格式转换为excel格式的示例

fromhfexcelimportHFExcelfromhfexcel.extrasimportInlineInputHelperexcel_data={"sheets":[{"key":"sheet1","name":"Example Sheet 1","columns":[{"name":"Column 1","width":2,"args":["headline"]},{"name":"Column 2"}],"rows":[[{"data":"Column 1 Row 1"},{"data":"Column 2 Row 1"}],[{"data":"Column 1 Row 2"},{"data":"Column 2 Row 2"}]]}],"styles":[{"name":"headline","style":{"bold":1,"font_size":14,"font":"Arial","align":"center"}}]}hf_workbook=HFExcel.hf_workbook(filename,set_default_styles=False)InlineInputHelper(hf_workbook).populate_with_json(excel_data)hf_workbook.save()returnTrue

示例输出文件

贡献者

  • @ebsaral-作者
  • 请随意贡献

依赖关系

警告

  • 编写了快乐路径测试

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

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?