pyexcel 0.7.0__tar.gz → 0.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyexcel-0.7.0 → pyexcel-0.7.2}/CHANGELOG.rst +24 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/CONTRIBUTORS.rst +5 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/LICENSE +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/PKG-INFO +124 -77
- {pyexcel-0.7.0 → pyexcel-0.7.2}/README.rst +72 -67
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/requirements.txt +1 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/conf.py +7 -7
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/guide.rst +6 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/index.rst +26 -32
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/quickstart.rst +85 -58
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/renderers.rst +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/convert_xls_to_xlsx.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/jsonify.py +1 -1
- pyexcel-0.7.2/examples/basics/multiple-sheets.xlsx +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/read_cell_by_cell.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/read_column_by_column.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/read_excel_book.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/read_row_by_row.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/series.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/write_excel_book.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/cookbook/merge_sheets.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/database/import_xls_into_database_via_sqlalchemy.py +2 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/formatting/formatter01.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/formatting/formatter02.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/memoryfile/pyexcel_server.py +2 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/__init__.py +4 -5
- pyexcel-0.7.2/pyexcel/__version__.py +2 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/_compact.py +6 -5
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/book.py +16 -18
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/cookbook.py +3 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/core.py +6 -6
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/deprecated.py +25 -25
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/docstrings/__init__.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/docstrings/core.py +1 -5
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/docstrings/keywords.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/attributes.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/common.py +2 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/core.py +1 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/generators.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/meta.py +16 -16
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/sheets/__init__.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/sheets/_shared.py +26 -39
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/sheets/column.py +12 -13
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/sheets/formatters.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/sheets/matrix.py +50 -54
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/sheets/row.py +5 -6
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/source_plugin.py +20 -25
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/utils.py +6 -6
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/parser.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/__init__.py +13 -13
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/parsers/__init__.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/parsers/django.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/parsers/excel.py +4 -4
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/parsers/sqlalchemy.py +3 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/renderers/__init__.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/renderers/_texttable.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/renderers/django.py +5 -5
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/renderers/excel.py +3 -4
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/renderers/sqlalchemy.py +4 -4
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/db_sources.py +7 -7
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/django.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/file_output.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/http.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/memory_input.py +3 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/output_to_memory.py +4 -4
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/common.py +3 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/dictsource.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/querysets.py +3 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/sqlalchemy.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/renderer.py +8 -7
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/sheet.py +16 -17
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/source.py +4 -4
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel.egg-info/PKG-INFO +124 -77
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel.egg-info/SOURCES.txt +2 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel.egg-info/requires.txt +1 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/setup.py +5 -6
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/base.py +2 -2
- pyexcel-0.7.2/tests/fixtures/empty.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/requirements.txt +1 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_bug_fixes.py +14 -14
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_cookbook.py +12 -12
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_django_related_functions.py +5 -7
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_examples.py +4 -4
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_exploitation.py +7 -7
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_file_type_as_attribute.py +9 -10
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_fileio.py +4 -4
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_formatters.py +9 -8
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_gabagecollector.py +3 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_http_source.py +3 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_iterator.py +45 -43
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_multiple_sheets.py +7 -7
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_presentation.py +7 -7
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_reader.py +5 -5
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_renderer.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sheet.py +3 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sheet_access.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sheet_attributes.py +6 -6
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sheet_column.py +50 -45
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sheet_row.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sheet_stream.py +3 -3
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sheet_update.py +4 -4
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_signature_fuction.py +23 -18
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sources.py +1 -1
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sql.py +8 -6
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_stringio.py +2 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_utils.py +6 -6
- pyexcel-0.7.0/pyexcel/__version__.py +0 -2
- {pyexcel-0.7.0 → pyexcel-0.7.2}/MANIFEST.in +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/Makefile +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/make.bat +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/_static/handsontable.full.min.css +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/_static/handsontable.full.min.js +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/_static/images/architecture.svg +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/_static/theme_overrides.css +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/_templates/layout.html +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/answers.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/api.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/architecture.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/attributes.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/bigdata.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/book.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/capability.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/changelog.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/coffee.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/cookbook.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/database.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/design.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/entity-relationship-diagram.dia +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/entity-relationship-diagram.png +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.bookdict.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.csv.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.csvz.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.number_of_sheets.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.ods.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.save_as.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.save_to_database.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.save_to_django_models.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.save_to_memory.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.sheet_names.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.stream.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.tsv.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.tsvz.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.url.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.xls.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.xlsm.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Book.xlsx.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.__getitem__.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.array.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.cell_value.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.colnames.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.column_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.column_range.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.content.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.csv.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.csvz.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.cut.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.delete_columns.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.delete_named_column_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.delete_named_row_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.delete_rows.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.dict.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.extend_columns.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.extend_rows.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.filter.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.format.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.map.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.name_columns_by_row.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.name_rows_by_column.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.named_column_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.named_row_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.number_of_columns.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.number_of_rows.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.ods.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.paste.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.project.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.records.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.region.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.row_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.row_range.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.rownames.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.save_as.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.save_to_database.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.save_to_django_model.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.save_to_memory.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.set_column_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.set_named_column_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.set_named_row_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.set_row_at.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.stream.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.transpose.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.tsv.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.tsvz.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.url.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.xls.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.xlsm.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.Sheet.xlsx.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.extract_a_sheet_from_a_book.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.free_resources.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_array.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_book.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_book_dict.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_dict.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_records.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.get_sheet.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.iget_array.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.iget_book.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.iget_records.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.isave_as.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.isave_book_as.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.merge_all_to_a_book.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.merge_csv_to_a_book.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.save_as.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.save_book_as.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/generated/pyexcel.split_a_book.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.generators.BookStream.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.generators.SheetStream.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.sheets.Column.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.sheets.Matrix.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/iapi/pyexcel.internal.sheets.Row.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/iapi.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/logging.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/migration_guide.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/note_on_pypy.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/plugin_howto.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/pyinstaller.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/sheet.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/showcases/db_injection.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/sources.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/spelling_wordlist.txt +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/tutorial.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/tutorial02.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/tutorial03.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/tutorial04.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/tutorial05.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/tutorial06.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/tutorial_data_conversion.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/tutorial_file.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/two-liners.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/uml/architecture.uml +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/docs/source/webdev.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/README.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/example.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/example.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/example.xlsm +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/example.xlsx +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/example_series.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/example_series_filter.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/multiple-sheets-example.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/basics/multiple-sheets.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/cookbook/scattered-csv-files/1.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/cookbook/scattered-csv-files/2.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/cookbook/scattered-csv-files/3.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/formatting/tutorial_datatype_01.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/formatting/tutorial_datatype_02.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/memoryfile/README.rst +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/memoryfile/templates/upload.html +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/examples/simple/multiple-sheets.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/constants.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/docstrings/garbagecollector.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/docstrings/meta.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/exceptions.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/__init__.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/garbagecollector.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/plugins.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/internal/sheets/extended_list.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/__init__.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/file_input.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/params.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/__init__.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/arraysource.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/bookdict.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/pydata/records.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel/plugins/sources/sheet_stream_source.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel.egg-info/dependency_links.txt +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel.egg-info/not-zip-safe +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/pyexcel.egg-info/top_level.txt +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/setup.cfg +0 -0
- /pyexcel-0.7.0/tests/fixtures/empty.csv → /pyexcel-0.7.2/tests/__init__.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/_compact.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/db.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/bug_01.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/bug_176.xlsx +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/date_field.xls +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/file_with_an_empty_sheet.xlsx +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/force_type.txt +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/issue_241/1.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/issue_241/2.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/non-uniform-rows.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/ods_formats.ods +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/test-multiple.csvz +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/test-single.csvz +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/test_cook_book_merge_alphabets.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/test_cook_book_merge_alphabets_2.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/test_cook_book_merge_numbers.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/fixtures/test_cook_book_merge_numbers_2.csv +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_book.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_book_stream.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_internals.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_parser.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_pyexcel_list.py +0 -0
- {pyexcel-0.7.0 → pyexcel-0.7.2}/tests/test_sheets.py +0 -0
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
Change log
|
|
2
2
|
================================================================================
|
|
3
3
|
|
|
4
|
+
0.7.2 - 23.03.2025
|
|
5
|
+
--------------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
**Fixed**
|
|
8
|
+
|
|
9
|
+
#. `#270 <https://github.com/pyexcel/pyexcel/issues/270>`_: apenddoc breaks
|
|
10
|
+
interpreter optimization
|
|
11
|
+
#. `#274 <https://github.com/pyexcel/pyexcel/issues/274>`_: Replace deprecated
|
|
12
|
+
imp module with importlib - enforced pyexcel's dependency on lml>=0.2.0. This
|
|
13
|
+
will have an implication for linux distribution makers for pyexcel. However,
|
|
14
|
+
this is a reaction to the potential removal of __import__ syntax.
|
|
15
|
+
|
|
16
|
+
0.7.1 - 11.09.2024
|
|
17
|
+
--------------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
**Fixed**
|
|
20
|
+
|
|
21
|
+
#. `#272 <https://github.com/pyexcel/pyexcel/issues/272>`_: remove chardet as a
|
|
22
|
+
requirement
|
|
23
|
+
|
|
24
|
+
**Updated**
|
|
25
|
+
|
|
26
|
+
#. various typos and linted the code
|
|
27
|
+
|
|
4
28
|
0.7.0 - 12.2.2022
|
|
5
29
|
--------------------------------------------------------------------------------
|
|
6
30
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
21 contributors
|
|
4
4
|
================================================================================
|
|
5
5
|
|
|
6
6
|
In alphabetical order:
|
|
@@ -11,12 +11,14 @@ In alphabetical order:
|
|
|
11
11
|
* `Ayan Banerjee <https://github.com/ayan-b>`_
|
|
12
12
|
* `Chris Hill-Scott <https://github.com/quis>`_
|
|
13
13
|
* `Craig Anderson <https://github.com/craiga>`_
|
|
14
|
-
* `
|
|
14
|
+
* `D. Yu <https://github.com/darylyu>`_
|
|
15
15
|
* `J Harley <https://github.com/julzhk>`_
|
|
16
16
|
* `Joel Nothman <https://github.com/jnothman>`_
|
|
17
17
|
* `John Vandenberg <https://github.com/jayvdb>`_
|
|
18
18
|
* `Linghui Zeng <https://github.com/mathsyouth>`_
|
|
19
|
-
* `
|
|
19
|
+
* `Mark Mayo <https://github.com/marksmayo>`_
|
|
20
|
+
* `Mateusz Konieczny <https://github.com/matkoniecz>`_
|
|
21
|
+
* `nikolas <https://github.com/nikolas>`_
|
|
20
22
|
* `Rintze M. Zelle, PhD <https://github.com/rmzelle>`_
|
|
21
23
|
* `Simeon Visser <https://github.com/svisser>`_
|
|
22
24
|
* `Simon Allen <https://github.com/garfunkel>`_
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright (c) 2014-
|
|
1
|
+
Copyright (c) 2014-2025 by Onni Software Ltd. and its contributors
|
|
2
2
|
All rights reserved.
|
|
3
3
|
|
|
4
4
|
Redistribution and use in source and binary forms of the software as well
|
|
@@ -13,7 +13,7 @@ that the following conditions are met:
|
|
|
13
13
|
and/or other materials provided with the distribution.
|
|
14
14
|
|
|
15
15
|
* Neither the name of 'pyexcel' nor the names of the contributors
|
|
16
|
-
may
|
|
16
|
+
may be used to endorse or promote products derived from this software
|
|
17
17
|
without specific prior written permission.
|
|
18
18
|
|
|
19
19
|
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pyexcel
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: A wrapper library that provides one API to read, manipulate and writedata in different excel formats
|
|
5
5
|
Home-page: https://github.com/pyexcel/pyexcel
|
|
6
|
+
Download-URL: https://github.com/pyexcel/pyexcel/archive/0.7.2.tar.gz
|
|
6
7
|
Author: C.W.
|
|
7
8
|
Author-email: info@pyexcel.org
|
|
8
9
|
License: New BSD
|
|
9
|
-
Download-URL: https://github.com/pyexcel/pyexcel/archive/0.7.0.tar.gz
|
|
10
10
|
Keywords: python,tsv,tsvzcsv,csvz,xls,xlsx,ods
|
|
11
|
-
Platform: UNKNOWN
|
|
12
11
|
Classifier: Topic :: Software Development :: Libraries
|
|
13
12
|
Classifier: Programming Language :: Python
|
|
14
13
|
Classifier: Intended Audience :: Developers
|
|
@@ -18,10 +17,29 @@ Classifier: Programming Language :: Python :: 3.7
|
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.8
|
|
19
18
|
Classifier: Development Status :: 3 - Alpha
|
|
20
19
|
Requires-Python: >=3.6
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: lml>=0.2.0
|
|
22
|
+
Requires-Dist: pyexcel-io>=0.6.2
|
|
23
|
+
Requires-Dist: texttable>=0.8.2
|
|
21
24
|
Provides-Extra: xls
|
|
25
|
+
Requires-Dist: pyexcel-xls>=0.6.0; extra == "xls"
|
|
22
26
|
Provides-Extra: xlsx
|
|
27
|
+
Requires-Dist: pyexcel-xlsx>=0.6.0; extra == "xlsx"
|
|
23
28
|
Provides-Extra: ods
|
|
24
|
-
|
|
29
|
+
Requires-Dist: pyexcel-ods3>=0.6.0; extra == "ods"
|
|
30
|
+
Dynamic: author
|
|
31
|
+
Dynamic: author-email
|
|
32
|
+
Dynamic: classifier
|
|
33
|
+
Dynamic: description
|
|
34
|
+
Dynamic: download-url
|
|
35
|
+
Dynamic: home-page
|
|
36
|
+
Dynamic: keywords
|
|
37
|
+
Dynamic: license
|
|
38
|
+
Dynamic: license-file
|
|
39
|
+
Dynamic: provides-extra
|
|
40
|
+
Dynamic: requires-dist
|
|
41
|
+
Dynamic: requires-python
|
|
42
|
+
Dynamic: summary
|
|
25
43
|
|
|
26
44
|
================================================================================
|
|
27
45
|
pyexcel - Let you focus on data, instead of file formats
|
|
@@ -33,9 +51,6 @@ pyexcel - Let you focus on data, instead of file formats
|
|
|
33
51
|
.. image:: https://raw.githubusercontent.com/pyexcel/pyexcel-mobans/master/images/awesome-badge.svg
|
|
34
52
|
:target: https://awesome-python.com/#specific-formats-processing
|
|
35
53
|
|
|
36
|
-
.. image:: https://github.com/pyexcel/pyexcel/workflows/run_tests/badge.svg
|
|
37
|
-
:target: http://github.com/pyexcel/pyexcel/actions
|
|
38
|
-
|
|
39
54
|
.. image:: https://codecov.io/gh/pyexcel/pyexcel/branch/master/graph/badge.svg
|
|
40
55
|
:target: https://codecov.io/gh/pyexcel/pyexcel
|
|
41
56
|
|
|
@@ -45,6 +60,7 @@ pyexcel - Let you focus on data, instead of file formats
|
|
|
45
60
|
.. image:: https://anaconda.org/conda-forge/pyexcel/badges/version.svg
|
|
46
61
|
:target: https://anaconda.org/conda-forge/pyexcel
|
|
47
62
|
|
|
63
|
+
|
|
48
64
|
.. image:: https://pepy.tech/badge/pyexcel/month
|
|
49
65
|
:target: https://pepy.tech/project/pyexcel
|
|
50
66
|
|
|
@@ -65,19 +81,11 @@ pyexcel - Let you focus on data, instead of file formats
|
|
|
65
81
|
Support the project
|
|
66
82
|
================================================================================
|
|
67
83
|
|
|
68
|
-
If your company
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
If you are an individual, you are welcome to support me too and for however long
|
|
74
|
-
you feel like. As my backer, you will receive
|
|
75
|
-
`early access to pyexcel related contents <https://www.patreon.com/pyexcel/posts>`_.
|
|
76
|
-
|
|
77
|
-
And your issues will get prioritized if you would like to become my patreon as `pyexcel pro user`.
|
|
78
|
-
|
|
79
|
-
With your financial support, I will be able to invest
|
|
80
|
-
a little bit more time in coding, documentation and writing interesting posts.
|
|
84
|
+
If your company uses pyexcel and its components in a revenue-generating product,
|
|
85
|
+
please consider supporting the project on GitHub or
|
|
86
|
+
`Patreon <https://www.patreon.com/bePatron?u=5537627>`_. Your financial
|
|
87
|
+
support will enable me to dedicate more time to coding, improving documentation,
|
|
88
|
+
and creating engaging content.
|
|
81
89
|
|
|
82
90
|
|
|
83
91
|
Known constraints
|
|
@@ -178,8 +186,9 @@ Medieval c.1150-c.1400 Machaut, Landini
|
|
|
178
186
|
Renaissance c.1400-c.1600 Gibbons, Frescobaldi
|
|
179
187
|
Baroque c.1600-c.1750 JS Bach, Vivaldi
|
|
180
188
|
Classical c.1750-c.1830 Joseph Haydn, Wolfgan Amadeus Mozart
|
|
181
|
-
|
|
189
|
+
Early Romantic c.1830-c.1860 Chopin, Mendelssohn, Schumann, Liszt
|
|
182
190
|
Late Romantic c.1860-c.1920 Wagner,Verdi
|
|
191
|
+
Modernist 20th century Sergei Rachmaninoff,Calude Debussy
|
|
183
192
|
=============== ============= ====================================
|
|
184
193
|
|
|
185
194
|
|
|
@@ -199,8 +208,9 @@ And let's check what do we have:
|
|
|
199
208
|
Gibbons, Frescobaldi are from Renaissance period (c.1400-c.1600)
|
|
200
209
|
JS Bach, Vivaldi are from Baroque period (c.1600-c.1750)
|
|
201
210
|
Joseph Haydn, Wolfgan Amadeus Mozart are from Classical period (c.1750-c.1830)
|
|
202
|
-
Chopin, Mendelssohn, Schumann, Liszt are from
|
|
211
|
+
Chopin, Mendelssohn, Schumann, Liszt are from Early Romantic period (c.1830-c.1860)
|
|
203
212
|
Wagner,Verdi are from Late Romantic period (c.1860-c.1920)
|
|
213
|
+
Sergei Rachmaninoff,Calude Debussy are from Modernist period (20th century)
|
|
204
214
|
|
|
205
215
|
|
|
206
216
|
Get two dimensional array
|
|
@@ -216,8 +226,9 @@ Instead, what if you have to use `pyexcel.get_array` to do the same:
|
|
|
216
226
|
Gibbons, Frescobaldi are from Renaissance period (c.1400-c.1600)
|
|
217
227
|
JS Bach, Vivaldi are from Baroque period (c.1600-c.1750)
|
|
218
228
|
Joseph Haydn, Wolfgan Amadeus Mozart are from Classical period (c.1750-c.1830)
|
|
219
|
-
Chopin, Mendelssohn, Schumann, Liszt are from
|
|
229
|
+
Chopin, Mendelssohn, Schumann, Liszt are from Early Romantic period (c.1830-c.1860)
|
|
220
230
|
Wagner,Verdi are from Late Romantic period (c.1860-c.1920)
|
|
231
|
+
Sergei Rachmaninoff,Calude Debussy are from Modernist period (20th century)
|
|
221
232
|
|
|
222
233
|
|
|
223
234
|
where `start_row` skips the header row.
|
|
@@ -228,13 +239,11 @@ Get a dictionary
|
|
|
228
239
|
|
|
229
240
|
You can get a dictionary too:
|
|
230
241
|
|
|
231
|
-
Now let's get a dictionary out from the spreadsheet:
|
|
232
|
-
|
|
233
242
|
.. code-block:: python
|
|
234
243
|
|
|
235
244
|
>>> my_dict = p.get_dict(file_name="your_file.xls", name_columns_by_row=0)
|
|
236
245
|
|
|
237
|
-
And
|
|
246
|
+
And let's have a look inside:
|
|
238
247
|
|
|
239
248
|
.. code-block:: python
|
|
240
249
|
|
|
@@ -243,9 +252,9 @@ And check what do we have:
|
|
|
243
252
|
True
|
|
244
253
|
>>> for key, values in my_dict.items():
|
|
245
254
|
... print(key + " : " + ','.join([str(item) for item in values]))
|
|
246
|
-
Name : Medieval,Renaissance,Baroque,Classical,
|
|
247
|
-
Period : c.1150-c.1400,c.1400-c.1600,c.1600-c.1750,c.1750-c.1830,c.1830-c.1860,c.1860-c.1920
|
|
248
|
-
Representative Composers : Machaut, Landini,Gibbons, Frescobaldi,JS Bach, Vivaldi,Joseph Haydn, Wolfgan Amadeus Mozart,Chopin, Mendelssohn, Schumann, Liszt,Wagner,Verdi
|
|
255
|
+
Name : Medieval,Renaissance,Baroque,Classical,Early Romantic,Late Romantic,Modernist
|
|
256
|
+
Period : c.1150-c.1400,c.1400-c.1600,c.1600-c.1750,c.1750-c.1830,c.1830-c.1860,c.1860-c.1920,20th century
|
|
257
|
+
Representative Composers : Machaut, Landini,Gibbons, Frescobaldi,JS Bach, Vivaldi,Joseph Haydn, Wolfgan Amadeus Mozart,Chopin, Mendelssohn, Schumann, Liszt,Wagner,Verdi,Sergei Rachmaninoff,Calude Debussy
|
|
249
258
|
|
|
250
259
|
|
|
251
260
|
Please note that my_dict is an OrderedDict.
|
|
@@ -257,29 +266,43 @@ Get a dictionary of two dimensional array
|
|
|
257
266
|
Suppose you have a multiple sheet book as the following:
|
|
258
267
|
|
|
259
268
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
269
|
+
Top Violinist:
|
|
270
|
+
|
|
271
|
+
================= ========= ================
|
|
272
|
+
Name Period Nationality
|
|
273
|
+
Antonio Vivaldi 1678-1741 Italian
|
|
274
|
+
Niccolo Paganini 1782-1840 Italian
|
|
275
|
+
Pablo de Sarasate 1852-1904 Spainish
|
|
276
|
+
Eugene Ysaye 1858-1931 Belgian
|
|
277
|
+
Fritz Kreisler 1875-1962 Astria-American
|
|
278
|
+
Jascha Heifetz 1901-1987 Russian-American
|
|
279
|
+
David Oistrakh 1908-1974 Russian
|
|
280
|
+
Yehundi Menuhin 1916-1999 American
|
|
281
|
+
Itzhak Perlman 1945- Israeli-American
|
|
282
|
+
Hilary Hahn 1979- American
|
|
283
|
+
================= ========= ================
|
|
284
|
+
|
|
285
|
+
Noteable Violin Makers:
|
|
286
|
+
|
|
287
|
+
====================== ========= ================
|
|
288
|
+
Maker Period Country
|
|
289
|
+
Antonio Stradivari 1644-1737 Cremona, Italy
|
|
290
|
+
Giovanni Paolo Maggini 1580-1630 Botticino, Italy
|
|
291
|
+
Amati Family 1500-1740 Cremona, Italy
|
|
292
|
+
Guarneri Family 1626-1744 Cremona, Italy
|
|
293
|
+
Rugeri Family 1628-1719 Cremona, Italy
|
|
294
|
+
Carlo Bergonzi 1683-1747 Cremona, Italy
|
|
295
|
+
Jacob Stainer 1617-1683 Austria
|
|
296
|
+
====================== ========= ================
|
|
297
|
+
|
|
298
|
+
Most Expensive Violins:
|
|
299
|
+
|
|
300
|
+
===================== =============== ===================================
|
|
301
|
+
Name Estimated Value Location
|
|
302
|
+
Messiah Stradivarious $ 20,000,000 Ashmolean Museum in Oxford, England
|
|
303
|
+
Vieuxtemps Guarneri $ 16,000,000 On loan to Anne Akiko Meyers
|
|
304
|
+
Lady Blunt $ 15,900,000 Anonymous bidder
|
|
305
|
+
===================== =============== ===================================
|
|
283
306
|
|
|
284
307
|
|
|
285
308
|
Here is the code to obtain those sheets as a single dictionary:
|
|
@@ -297,9 +320,9 @@ And check:
|
|
|
297
320
|
>>> import json
|
|
298
321
|
>>> for key, item in book_dict.items():
|
|
299
322
|
... print(json.dumps({key: item}))
|
|
300
|
-
{"
|
|
301
|
-
{"
|
|
302
|
-
{"
|
|
323
|
+
{"Most Expensive Violins": [["Name", "Estimated Value", "Location"], ["Messiah Stradivarious", "$ 20,000,000", "Ashmolean Museum in Oxford, England"], ["Vieuxtemps Guarneri", "$ 16,000,000", "On loan to Anne Akiko Meyers"], ["Lady Blunt", "$ 15,900,000", "Anonymous bidder"]]}
|
|
324
|
+
{"Noteable Violin Makers": [["Maker", "Period", "Country"], ["Antonio Stradivari", "1644-1737", "Cremona, Italy"], ["Giovanni Paolo Maggini", "1580-1630", "Botticino, Italy"], ["Amati Family", "1500-1740", "Cremona, Italy"], ["Guarneri Family", "1626-1744", "Cremona, Italy"], ["Rugeri Family", "1628-1719", "Cremona, Italy"], ["Carlo Bergonzi", "1683-1747", "Cremona, Italy"], ["Jacob Stainer", "1617-1683", "Austria"]]}
|
|
325
|
+
{"Top Violinist": [["Name", "Period", "Nationality"], ["Antonio Vivaldi", "1678-1741", "Italian"], ["Niccolo Paganini", "1782-1840", "Italian"], ["Pablo de Sarasate", "1852-1904", "Spainish"], ["Eugene Ysaye", "1858-1931", "Belgian"], ["Fritz Kreisler", "1875-1962", "Astria-American"], ["Jascha Heifetz", "1901-1987", "Russian-American"], ["David Oistrakh", "1908-1974", "Russian"], ["Yehundi Menuhin", "1916-1999", "American"], ["Itzhak Perlman", "1945-", "Israeli-American"], ["Hilary Hahn", "1979-", "American"]]}
|
|
303
326
|
|
|
304
327
|
|
|
305
328
|
Write data
|
|
@@ -312,7 +335,7 @@ Suppose you have the following array:
|
|
|
312
335
|
|
|
313
336
|
.. code-block:: python
|
|
314
337
|
|
|
315
|
-
>>> data = [[
|
|
338
|
+
>>> data = [['G', 'D', 'A', 'E'], ['Thomastik-Infield Domaints', 'Thomastik-Infield Domaints', 'Thomastik-Infield Domaints', 'Pirastro'], ['Silver wound', '', 'Aluminum wound', 'Gold Label Steel']]
|
|
316
339
|
|
|
317
340
|
And here is the code to save it as an excel file :
|
|
318
341
|
|
|
@@ -326,13 +349,13 @@ Let's verify it:
|
|
|
326
349
|
|
|
327
350
|
>>> p.get_sheet(file_name="example.xls")
|
|
328
351
|
pyexcel_sheet1:
|
|
329
|
-
|
|
330
|
-
|
|
|
331
|
-
|
|
332
|
-
|
|
|
333
|
-
|
|
334
|
-
|
|
|
335
|
-
|
|
352
|
+
+----------------------------+----------------------------+----------------------------+------------------+
|
|
353
|
+
| G | D | A | E |
|
|
354
|
+
+----------------------------+----------------------------+----------------------------+------------------+
|
|
355
|
+
| Thomastik-Infield Domaints | Thomastik-Infield Domaints | Thomastik-Infield Domaints | Pirastro |
|
|
356
|
+
+----------------------------+----------------------------+----------------------------+------------------+
|
|
357
|
+
| Silver wound | | Aluminum wound | Gold Label Steel |
|
|
358
|
+
+----------------------------+----------------------------+----------------------------+------------------+
|
|
336
359
|
|
|
337
360
|
|
|
338
361
|
And here is the code to save it as a csv file :
|
|
@@ -347,13 +370,13 @@ Let's verify it:
|
|
|
347
370
|
|
|
348
371
|
.. code-block:: python
|
|
349
372
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
373
|
+
>>> with open("example.csv") as f:
|
|
374
|
+
... for line in f.readlines():
|
|
375
|
+
... print(line.rstrip())
|
|
376
|
+
...
|
|
377
|
+
G:D:A:E
|
|
378
|
+
Thomastik-Infield Domaints:Thomastik-Infield Domaints:Thomastik-Infield Domaints:Pirastro
|
|
379
|
+
Silver wound::Aluminum wound:Gold Label Steel
|
|
357
380
|
|
|
358
381
|
Export a list of dictionaries
|
|
359
382
|
**********************************
|
|
@@ -1065,7 +1088,7 @@ Available Plugins
|
|
|
1065
1088
|
======================== ======================= =================
|
|
1066
1089
|
Package name Supported file formats Dependencies
|
|
1067
1090
|
======================== ======================= =================
|
|
1068
|
-
`pyexcel-io`_ csv, csvz [#f1]_, tsv,
|
|
1091
|
+
`pyexcel-io`_ csv, csvz [#f1]_, tsv, csvz,tsvz readers depends on `chardet`
|
|
1069
1092
|
tsvz [#f2]_
|
|
1070
1093
|
`pyexcel-xls`_ xls, xlsx(read only), `xlrd`_,
|
|
1071
1094
|
xlsm(read only) `xlwt`_
|
|
@@ -1191,7 +1214,7 @@ New BSD License
|
|
|
1191
1214
|
|
|
1192
1215
|
|
|
1193
1216
|
|
|
1194
|
-
|
|
1217
|
+
21 contributors
|
|
1195
1218
|
================================================================================
|
|
1196
1219
|
|
|
1197
1220
|
In alphabetical order:
|
|
@@ -1202,12 +1225,14 @@ In alphabetical order:
|
|
|
1202
1225
|
* `Ayan Banerjee <https://github.com/ayan-b>`_
|
|
1203
1226
|
* `Chris Hill-Scott <https://github.com/quis>`_
|
|
1204
1227
|
* `Craig Anderson <https://github.com/craiga>`_
|
|
1205
|
-
* `
|
|
1228
|
+
* `D. Yu <https://github.com/darylyu>`_
|
|
1206
1229
|
* `J Harley <https://github.com/julzhk>`_
|
|
1207
1230
|
* `Joel Nothman <https://github.com/jnothman>`_
|
|
1208
1231
|
* `John Vandenberg <https://github.com/jayvdb>`_
|
|
1209
1232
|
* `Linghui Zeng <https://github.com/mathsyouth>`_
|
|
1210
|
-
* `
|
|
1233
|
+
* `Mark Mayo <https://github.com/marksmayo>`_
|
|
1234
|
+
* `Mateusz Konieczny <https://github.com/matkoniecz>`_
|
|
1235
|
+
* `nikolas <https://github.com/nikolas>`_
|
|
1211
1236
|
* `Rintze M. Zelle, PhD <https://github.com/rmzelle>`_
|
|
1212
1237
|
* `Simeon Visser <https://github.com/svisser>`_
|
|
1213
1238
|
* `Simon Allen <https://github.com/garfunkel>`_
|
|
@@ -1219,6 +1244,30 @@ In alphabetical order:
|
|
|
1219
1244
|
Change log
|
|
1220
1245
|
================================================================================
|
|
1221
1246
|
|
|
1247
|
+
0.7.2 - 23.03.2025
|
|
1248
|
+
--------------------------------------------------------------------------------
|
|
1249
|
+
|
|
1250
|
+
**Fixed**
|
|
1251
|
+
|
|
1252
|
+
#. `#270 <https://github.com/pyexcel/pyexcel/issues/270>`_: apenddoc breaks
|
|
1253
|
+
interpreter optimization
|
|
1254
|
+
#. `#274 <https://github.com/pyexcel/pyexcel/issues/274>`_: Replace deprecated
|
|
1255
|
+
imp module with importlib - enforced pyexcel's dependency on lml>=0.2.0. This
|
|
1256
|
+
will have an implication for linux distribution makers for pyexcel. However,
|
|
1257
|
+
this is a reaction to the potential removal of __import__ syntax.
|
|
1258
|
+
|
|
1259
|
+
0.7.1 - 11.09.2024
|
|
1260
|
+
--------------------------------------------------------------------------------
|
|
1261
|
+
|
|
1262
|
+
**Fixed**
|
|
1263
|
+
|
|
1264
|
+
#. `#272 <https://github.com/pyexcel/pyexcel/issues/272>`_: remove chardet as a
|
|
1265
|
+
requirement
|
|
1266
|
+
|
|
1267
|
+
**Updated**
|
|
1268
|
+
|
|
1269
|
+
#. various typos and linted the code
|
|
1270
|
+
|
|
1222
1271
|
0.7.0 - 12.2.2022
|
|
1223
1272
|
--------------------------------------------------------------------------------
|
|
1224
1273
|
|
|
@@ -1819,5 +1868,3 @@ Change log
|
|
|
1819
1868
|
#. utilities to get array and dictionary out from excel files.
|
|
1820
1869
|
#. cookbok receipes for some common and simple usage of this library.
|
|
1821
1870
|
|
|
1822
|
-
|
|
1823
|
-
|