Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: decimal.Decimal treated as string in DataFrame.to_excel() #47544

Closed
2 of 3 tasks
buhtz opened this issue Jun 29, 2022 · 5 comments
Closed
2 of 3 tasks

BUG: decimal.Decimal treated as string in DataFrame.to_excel() #47544

buhtz opened this issue Jun 29, 2022 · 5 comments
Assignees
Labels
Bug Closing Candidate May be closeable, needs more eyeballs IO Excel read_excel, to_excel

Comments

@buhtz
Copy link

buhtz commented Jun 29, 2022

Pandas version checks

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of pandas.

  • I have confirmed this bug exists on the main branch of pandas.

Reproducible Example

#!/usr/bin/env python3
import pandas as pd
from decimal import Decimal

df = pd.DataFrame({
    'foo': list('ABC'),
    'val': [
        Decimal('332344'),
        Decimal('6.324'),
        Decimal('87.397812')
    ]
})

print(df)
df.to_excel('p.xlsx')

from openpyxl import Workbook
wb = Workbook()
ws = wb.active

the_float = 1.2345
ws['A1'] = Decimal('1.2345')
ws['A2'] = the_float

wb.save('x.xlsx')

Issue Description

I use decimal.Decimal as type for float values in a DataFrame.
Exporting them via to_excel() resulting in Excel cells with strings not floats. I tried xlsxwriter and openpyxl as engine.

See my MWE it seems that openpyxl itself can handle Decimal very well. The result is a real float not a string.

So the problem must somewhere in the pandas layer.

btw: Your Issue formula is to restrictive. I have no way to test the issue on the current upstream version. There are strict technical reasons for this. I haven't tested with upstream but checked the checkbox to be able to submit the Issue.

Expected Behavior

Create real float values in the Excel cells.

Installed Versions

>>> pandas.show_versions()
[DEBUG] matplotlib data path: .....AppData\Roaming\Python\Python39\site-packages\matplotlib\mpl-data
[DEBUG] CONFIGDIR=C:\Users\buhtzch\.matplotlib
[DEBUG] interactive is False
[DEBUG] platform is win32
[DEBUG] loaded modules: ['sys', 'builtins', '_frozen_importlib', '_imp', '_thread', '_warnings', '_weakref', '_io', 'marshal', 'nt', 'winreg', '_frozen_importlib_external', 'time', 'zipimport', '_codecs', 'codecs', 'encodings.aliases', 'encodings', 'encodings.utf_8', 'encodings.cp1252', '_signal', 'encodings.latin_1', '_abc', 'abc', 'io', '__main__', '_stat', 'stat', '_collections_abc', 'genericpath', 'ntpath', 'os.path', 'os', '_sitebuiltins', '_locale', '_bootlocale', 'types', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib', 'importlib.machinery', '_heapq', 'heapq', 'itertools', 'keyword', '_operator', 'operator', 'reprlib', '_collections', 'collections', 'collections.abc', '_functools', 'functools', 'contextlib', 'enum', '_sre', 'sre_constants', 'sre_parse', 'sre_compile', 'copyreg', 're', 'typing.io', 'typing.re', 'typing', 'importlib.abc', 'importlib.util', 'mpl_toolkits', 'sphinxcontrib', 'site', 'token', 'tokenize', 'linecache', 'traceback', '_weakrefset', 'weakref', '_string', 'string', 'threading', 'atexit', 'logging', 'posixpath', 'fnmatch', 'errno', 'urllib', 'urllib.parse', 'pathlib', 'math', '_datetime', 'datetime', '_struct', 'struct', '_compat_pickle', '_pickle', 'pickle', 'copy', '_ast', 'ast', '_opcode', 'opcode', 'dis', 'inspect', 'dataclasses', '_uuid', 'uuid', 'numbers', '_bisect', 'bisect', '_random', '_sha512', 'random', '_decimal', 'decimal', 'fractions', '_statistics', 'statistics', 'numpy._globals', 'numpy.__config__', 'glob', '_ctypes', 'ctypes._endian', 'ctypes', 'numpy._distributor_init', '__future__', '_json', 'json.scanner', 'json.decoder', 'json.encoder', 'json', 'numpy._version', 'numpy.version', 'numpy.core._multiarray_umath', 'numpy.compat._inspect', 'numpy.compat.py3k', 'numpy.compat', 'numpy.core.overrides', 'numpy.core.multiarray', 'numpy.core.umath', 'numpy.core._string_helpers', 'numpy.core._dtype', 'numpy.core._type_aliases', 'numpy.core.numerictypes', 'numpy.core._exceptions', 'numpy.core._methods', 'numpy.core.fromnumeric', 'numpy.core.shape_base', 'numpy.core._ufunc_config', 'numpy.core.arrayprint', 'numpy.core._asarray', 'numpy.core.numeric', 'numpy.core.defchararray', 'numpy.core.records', 'numpy.core.memmap', 'numpy.core.function_base', 'numpy.core._machar', 'numpy.core.getlimits', 'numpy.core.einsumfunc', 'numpy.core._multiarray_tests', 'numpy.core._add_newdocs', 'signal', 'msvcrt', '_winapi', 'subprocess', 'platform', '_socket', 'select', 'selectors', 'socket', 'numpy.core._add_newdocs_scalars', 'numpy.core._dtype_ctypes', 'numpy.core._internal', 'numpy._pytesttester', 'numpy.core', 'numpy.lib.mixins', 'numpy.lib.ufunclike', 'numpy.lib.type_check', 'numpy.lib.scimath', 'numpy.lib.stride_tricks', 'numpy.lib.twodim_base', 'numpy.linalg._umath_linalg', 'numpy.linalg.linalg', 'numpy.linalg', 'numpy.matrixlib.defmatrix', 'numpy.matrixlib', 'numpy.lib.histograms', 'numpy.lib.function_base', 'numpy.lib.index_tricks', 'numpy.lib.nanfunctions', 'numpy.lib.shape_base', 'numpy.lib.polynomial', 'textwrap', 'numpy.lib.utils', 'numpy.lib.arraysetops', 'numpy.lib.format', 'numpy.lib._datasource', 'numpy.lib._iotools', 'numpy.lib.npyio', 'numpy.lib.arrayterator', 'numpy.lib.arraypad', 'numpy.lib._version', 'numpy.lib', 'numpy.fft._pocketfft_internal', 'numpy.fft._pocketfft', 'numpy.fft.helper', 'numpy.fft', 'numpy.polynomial.polyutils', 'numpy.polynomial._polybase', 'numpy.polynomial.polynomial', 'numpy.polynomial.chebyshev', 'numpy.polynomial.legendre', 'numpy.polynomial.hermite', 'numpy.polynomial.hermite_e', 'numpy.polynomial.laguerre', 'numpy.polynomial', 'cython_runtime', '_cython_0_29_24', 'numpy.random._common', 'binascii', 'base64', '_hashlib', '_blake2', 'hashlib', 'hmac', 'secrets', 'numpy.random.bit_generator', 'numpy.random._bounded_integers', 'numpy.random._mt19937', 'numpy.random.mtrand', 'numpy.random._philox', 'numpy.random._pcg64', 'numpy.random._sfc64', 'numpy.random._generator', 'numpy.random._pickle', 'numpy.random', 'numpy.ctypeslib', 'numpy.ma.core', 'numpy.ma.extras', 'numpy.ma', 'numpy', 'pytz.exceptions', 'pytz.lazy', 'pytz.tzinfo', 'pytz.tzfile', 'pytz', 'dateutil._version', 'dateutil', 'mmap', 'pandas._typing', '_cython_0_29_21', 'pandas._libs.tslibs.dtypes', 'pandas._libs.tslibs.base', 'pandas._libs.tslibs.np_datetime', 'pandas._libs.tslibs.nattype', 'six', 'six.moves', 'dateutil.tz._common', 'dateutil.tz._factories', 'ctypes.wintypes', 'dateutil.tz.win', 'dateutil.tz.tz', 'dateutil.tz', 'pandas._libs.tslibs.timezones', 'pandas._libs.tslibs.ccalendar', 'pandas._libs.tslibs.tzconversion', 'locale', 'pandas._config.config', 'pandas._config.dates', 'pandas._config.display', 'pandas._config', 'pandas._config.localization', 'calendar', 'pandas._libs.tslibs.strptime', 'pandas._libs.tslibs.fields', 'pandas._libs.tslibs.timedeltas', 'pandas._libs.tslibs.timestamps', 'dateutil.easter', 'dateutil._common', 'dateutil.relativedelta', 'pandas._libs.properties', 'pandas._libs.tslibs.offsets', 'dateutil.parser._parser', 'dateutil.parser.isoparser', 'dateutil.parser', 'pandas._libs.tslibs.parsing', 'pandas._libs.tslibs.conversion', 'pandas._libs.tslibs.period', 'pandas._libs.tslibs.vectorized', 'pandas._libs.tslibs', 'pandas._libs.ops_dispatch', 'pandas._libs.missing', 'pandas._libs.hashtable', 'pandas._libs.algos', 'pandas._libs.interval', 'pandas._libs', 'pandas.util._decorators', 'pandas.core', 'pandas.core.util', 'pandas._libs.tslib', 'pandas._libs.lib', 'pandas._libs.hashing', 'pandas.core.dtypes', 'pandas.errors', 'pandas.core.dtypes.generic', 'pandas.core.dtypes.base', 'pandas.core.dtypes.inference', 'pandas.core.dtypes.dtypes', 'pandas.core.dtypes.common', 'pandas.core.util.hashing', 'pandas.util', 'pandas.util.version', 'pandas.compat.numpy', 'gc', 'pyarrow._generated_version', '_cython_0_29_28', 'pyarrow.util', '_queue', 'queue', 'pyarrow.lib', 'pyarrow._hdfsio', 'pyarrow.filesystem', 'pyarrow.hdfs', 'pyarrow.ipc', 'pyarrow.serialization', 'pyarrow.types', 'pyarrow', 'pandas.compat.pyarrow', 'pandas.compat', 'pandas.core.config_init', 'pandas.core.dtypes.missing', 'pandas.util._exceptions', 'pandas.util._validators', 'pandas.core.dtypes.cast', 'pandas.core.array_algos', 'pandas.core.common', 'pandas.core.construction', 'pandas.core.array_algos.take', 'pandas.core.indexers', 'pandas.core.algorithms', 'pandas.compat.numpy.function', 'pandas.compat._optional', 'pandas.core.missing', 'pandas.core.roperator', 'pandas._libs.ops', 'pandas.core.computation', 'pandas.core.computation.check', 'pandas.core.computation.expressions', 'pandas.core.ops.missing', 'pandas.core.ops.dispatch', 'pandas.core.ops.invalid', 'pandas.core.ops.array_ops', 'pandas.core.ops.common', 'pandas.core.ops.docstrings', 'pandas.core.ops.mask_ops', 'pandas.core.ops.methods', 'pandas.core.ops', 'pandas.core.sorting', 'pandas.core.arrays.base', 'pandas.core.nanops', 'pandas.core.array_algos.masked_reductions', 'pandas.core.arraylike', 'pandas.core.arrays.masked', 'pandas.core.arrays.boolean', '_csv', 'csv', 'zlib', '_compression', '_bz2', 'bz2', '_lzma', 'lzma', 'shutil', 'pandas._libs.arrays', 'pandas.core.accessor', 'pandas.core.array_algos.transforms', 'pandas.core.arrays._mixins', 'pandas.core.base', 'pandas.core.strings.accessor', 'pandas.core.strings.base', 'pandas.core.strings', 'unicodedata', 'pandas.core.strings.object_array', 'pandas.io', 'pandas.io.formats', 'pandas.io.formats.console', 'pandas.core.arrays.categorical', 'pandas.tseries', 'pandas.tseries.frequencies', 'pandas.core.arrays.datetimelike', 'pandas.core.arrays._ranges', 'pandas.core.arrays.numeric', 'pandas.core.tools', 'pandas.core.tools.numeric', 'pandas.core.arrays.integer', 'pandas.tseries.offsets', 'pandas.core.arrays.datetimes', 'pandas.core.arrays.floating', 'pandas.core.indexes', 'pandas._libs.index', 'pandas._libs.join', 'pandas._libs.sparse', 'pandas.core.arrays.sparse.dtype', 'pandas.io.formats.printing', 'pandas.core.arrays.sparse.array', 'pandas.core.arrays.sparse.accessor', 'pandas.core.arrays.sparse', 'pandas.core.dtypes.concat', 'pandas.core.array_algos.putmask', 'pandas.core.indexes.frozen', 'pandas.core.indexes.base', 'pandas.core.arrays.interval', 'pandas.core.arrays.numpy_', 'pandas.core.arrays.period', 'pandas.core.arrays.string_', 'pyarrow._compute', 'pyarrow._compute_docstrings', 'pyarrow.vendored', 'pkgutil', 'sysconfig', 'pydoc', 'pyarrow.vendored.docscrape', 'pyarrow.compute', 'pandas.core.arrays.string_arrow', 'pandas.core.arrays.timedeltas', 'pandas.core.arrays', 'pandas.core.flags', 'pandas._libs.reduction', 'pandas.core.indexes.extension', 'pandas.core.indexes.category', 'pandas.core.indexes.numeric', 'pandas.core.tools.timedeltas', 'pandas.core.indexes.datetimelike', 'pandas.core.tools.times', 'pandas.core.indexes.datetimes', 'pandas.core.indexes.multi', 'pandas.core.indexes.timedeltas', 'pandas.core.indexes.interval', 'pandas.core.indexes.period', 'pandas.core.indexes.range', 'pandas.core.indexes.api', 'pandas.core.aggregation', 'pandas.core.apply', 'pandas._libs.indexing', 'pandas.core.indexing', 'pandas.core.reshape', 'pandas._libs.internals', 'pandas._libs.writers', 'pandas.core.array_algos.quantile', 'pandas.core.array_algos.replace', 'pandas.core.internals.blocks', 'pandas.core.internals.api', 'pandas.core.internals.base', 'pandas.core.internals.array_manager', 'pandas.core.internals.ops', 'pandas.core.internals.managers', 'pandas.core.internals.concat', 'pandas.core.internals', 'pandas.core.reshape.concat', 'gzip', 'zipfile', 'pandas.io.common', 'pandas.io.formats.format', 'pandas.core.describe', 'pandas.core.internals.construction', 'pandas.core.shared_docs', 'pandas._libs.window', 'pandas._libs.window.aggregations', 'pandas.core.util.numba_', 'pandas.core.window.common', 'pandas.core.window.doc', 'pandas._libs.window.indexers', 'pandas.core.window.indexers', 'pandas.core.window.numba_', 'pandas.core.window.online', 'pandas.core.window.rolling', 'pandas.core.window.ewm', 'pandas.core.window.expanding', 'pandas.core.window', 'pandas.core.generic', 'pandas.core.reshape.util', 'pandas.core.reshape.melt', 'pandas._libs.reshape', 'pandas.core.indexes.accessors', 'pandas.arrays', 'pandas.core.tools.datetimes', 'pandas.plotting._core', 'pandas.plotting._misc', 'pandas.plotting', 'pandas.core.series', 'pandas.io.formats.info', 'pandas.core.frame', 'pandas.core.groupby.base', 'pandas._libs.groupby', 'pandas.core.groupby.numba_', 'pandas.core.groupby.categorical', 'pandas.core.groupby.grouper', 'pandas.core.groupby.ops', 'pandas.core.groupby.groupby', 'pandas.core.groupby.generic', 'pandas.core.groupby', 'pandas.core.api', 'pandas.tseries.api', 'pandas.core.computation.common', 'pandas.core.computation.align', 'pprint', 'pandas.compat.chainmap', 'pandas.core.computation.scope', 'pandas.core.computation.ops', 'pandas.core.computation.parsing', 'pandas.core.computation.expr', 'pandas.core.computation.engines', 'pandas.core.computation.eval', 'pandas.core.computation.api', 'pandas.core.reshape.merge', 'pandas.core.reshape.pivot', 'pandas.core.reshape.reshape', 'pandas.core.reshape.tile', 'pandas.core.reshape.api', 'pandas.api.extensions', 'pandas.api.indexers', 'pandas.core.dtypes.api', 'pandas.api.types', 'pandas.api', 'pandas.util._print_versions', 'pandas.io.clipboards', 'pandas._libs.parsers', 'pandas.io.excel._util', 'pandas.io.date_converters', 'pandas.io.parsers.base_parser', 'pandas.io.parsers.c_parser_wrapper', 'pandas.io.parsers.python_parser', 'pandas.io.parsers.readers', 'pandas.io.parsers', 'pandas.io.excel._odfreader', 'pandas.io.excel._openpyxl', 'pandas.io.excel._pyxlsb', 'pandas.io.excel._xlrd', 'pandas.io.excel._base', 'pandas._libs.json', 'pandas.io.formats._color_data', 'pandas.io.formats.css', 'pandas.io.formats.excel', 'pandas.io.excel._odswriter', 'pandas.io.excel._xlsxwriter', 'pandas.io.excel._xlwt', 'pandas.io.excel', 'pandas.io.feather_format', 'pandas.io.gbq', 'pandas.io.html', 'pandas.io.json._normalize', 'pandas.io.json._table_schema', 'pandas.io.json._json', 'pandas.io.json', 'pandas.io.orc', 'pandas.io.parquet', 'pandas.compat.pickle_compat', 'pandas.io.pickle', 'pandas.core.computation.pytables', 'pandas.io.pytables', 'pandas.io.sas.sasreader', 'pandas.io.sas', 'pandas.io.spss', 'pandas.io.sql', 'pandas.io.stata', 'pandas.io.xml', 'pandas.io.api', 'pandas.util._tester', 'pandas._testing._random', 'tempfile', 'pandas._testing.contexts', 'pandas._testing._io', 'pandas._testing._warnings', 'cmath', 'pandas._libs.testing', 'pandas._testing.asserters', 'pandas._testing.compat', 'pandas._testing', 'pandas.testing', 'pandas._version', 'pandas', 'humanize.filesize', 'gettext', 'humanize.i18n', 'humanize.number', 'humanize.time', 'email', 'configparser', 'importlib.metadata', 'email.errors', 'email.quoprimime', 'email.base64mime', 'quopri', 'email.encoders', 'email.charset', 'email.header', 'email._parseaddr', 'email.utils', 'email._policybase', 'email.feedparser', 'email.parser', 'uu', 'email._encoded_words', 'email.iterators', 'email.message', 'humanize', 'buhtzology._buhtzology', 'buhtzology', 'multiprocessing.process', 'multiprocessing.reduction', 'multiprocessing.context', '__mp_main__', 'multiprocessing', 'buhtzology.bandas', 'logging.handlers', '00_base', 'styleframe.utils', 'openpyxl.compat.numbers', 'openpyxl.compat.strings', 'openpyxl.compat', 'xml', 'xml.parsers', 'pyexpat.errors', 'pyexpat.model', 'pyexpat', 'xml.parsers.expat.model', 'xml.parsers.expat.errors', 'xml.parsers.expat', 'defusedxml.common', 'defusedxml', 'openpyxl.xml', 'openpyxl.worksheet', 'openpyxl.utils.exceptions', 'openpyxl.utils.cell', 'openpyxl.utils.formulas', 'openpyxl.utils', 'openpyxl.utils.datetime', 'openpyxl.descriptors.namespace', 'openpyxl.descriptors.base', 'xml.etree', 'xml.etree.ElementPath', 'et_xmlfile.xmlfile', 'et_xmlfile', '_elementtree', 'xml.etree.ElementTree', 'defusedxml.ElementTree', 'openpyxl.xml.constants', 'openpyxl.xml.functions', 'openpyxl.utils.indexed_list', 'openpyxl.descriptors.sequence', 'openpyxl.descriptors', 'openpyxl.descriptors.serialisable', 'openpyxl.styles.alignment', 'openpyxl.styles.colors', 'openpyxl.styles.borders', 'openpyxl.styles.fills', 'openpyxl.descriptors.nested', 'openpyxl.styles.fonts', 'openpyxl.styles.numbers', 'openpyxl.styles.protection', 'openpyxl.descriptors.excel', 'array', 'openpyxl.styles.cell_style', 'openpyxl.styles.named_styles', 'openpyxl.styles', 'openpyxl.styles.proxy', 'openpyxl.styles.builtins', 'openpyxl.styles.styleable', 'openpyxl.worksheet.hyperlink', 'openpyxl.cell.cell', 'openpyxl.cell.read_only', 'openpyxl.cell', 'openpyxl.styles.differential', 'openpyxl.formatting.rule', 'openpyxl.formatting', 'openpyxl.worksheet.cell_range', 'openpyxl.formatting.formatting', 'openpyxl.packaging', 'openpyxl.packaging.relationship', 'openpyxl.utils.escape', 'openpyxl.worksheet.header_footer', 'openpyxl.workbook.child', 'openpyxl.formula.tokenizer', 'openpyxl.formula', 'openpyxl.workbook.defined_name', 'openpyxl.formula.translate', 'openpyxl.worksheet.datavalidation', 'openpyxl.worksheet.page', 'openpyxl.utils.units', 'openpyxl.utils.bound_dictionary', 'openpyxl.worksheet.dimensions', 'openpyxl.utils.protection', 'openpyxl.worksheet.protection', 'openpyxl.worksheet.filters', 'openpyxl.worksheet.views', 'openpyxl.worksheet.merge', 'openpyxl.worksheet.properties', 'openpyxl.worksheet.pagebreak', 'openpyxl.worksheet.scenario', 'openpyxl.worksheet.related', 'openpyxl.worksheet.table', 'openpyxl.worksheet.worksheet', 'openpyxl.cell.text', 'openpyxl.worksheet._reader', 'openpyxl.worksheet._read_only', 'openpyxl.comments.comments', 'openpyxl.comments', 'openpyxl.comments.author', 'openpyxl.comments.shape_writer', 'openpyxl.comments.comment_sheet', 'openpyxl.cell._writer', 'openpyxl.worksheet._writer', 'openpyxl.worksheet._write_only', 'openpyxl.worksheet.copier', 'openpyxl.writer', 'openpyxl.drawing.drawing', 'openpyxl.drawing', 'PIL._version', 'PIL', 'PIL.ImageMode', 'PIL.TiffTags', 'PIL._binary', 'PIL._util', 'PIL._imaging', 'cffi.lock', 'cffi.error', 'cffi.model', 'cffi.api', 'cffi', 'PIL.Image', 'openpyxl.drawing.image', 'openpyxl.chart.layout', 'openpyxl.chart.picture', 'openpyxl.drawing.colors', 'openpyxl.drawing.effect', 'openpyxl.drawing.fill', 'openpyxl.drawing.line', 'openpyxl.drawing.geometry', 'openpyxl.chart.shapes', 'openpyxl.drawing.text', 'openpyxl.chart.data_source', 'openpyxl.chart.text', 'openpyxl.chart.error_bar', 'openpyxl.chart.marker', 'openpyxl.chart._3d', 'openpyxl.chart.legend', 'openpyxl.chart.reference', 'openpyxl.chart.label', 'openpyxl.chart.trendline', 'openpyxl.chart.series', 'openpyxl.chart.series_factory', 'openpyxl.chart.title', 'openpyxl.chart._chart', 'openpyxl.chart.descriptors', 'openpyxl.chart.axis', 'openpyxl.chart.area_chart', 'openpyxl.chart.bar_chart', 'openpyxl.chart.bubble_chart', 'openpyxl.chart.updown_bars', 'openpyxl.chart.line_chart', 'openpyxl.chart.pie_chart', 'openpyxl.chart.radar_chart', 'openpyxl.chart.scatter_chart', 'openpyxl.chart.stock_chart', 'openpyxl.chart.surface_chart', 'openpyxl.chart', 'openpyxl.drawing.xdr', 'openpyxl.drawing.properties', 'openpyxl.drawing.connector', 'openpyxl.drawing.picture', 'openpyxl.drawing.relation', 'openpyxl.drawing.graphic', 'openpyxl.drawing.spreadsheet_drawing', 'mimetypes', 'openpyxl.packaging.manifest', 'openpyxl.packaging.extended', 'openpyxl.styles.table', 'openpyxl.styles.stylesheet', 'openpyxl.workbook.external_reference', 'openpyxl.workbook.function_group', 'openpyxl.workbook.properties', 'openpyxl.workbook.protection', 'openpyxl.workbook.smart_tags', 'openpyxl.workbook.views', 'openpyxl.workbook.web', 'openpyxl.packaging.workbook', 'openpyxl.workbook._writer', 'openpyxl.writer.theme', 'openpyxl.writer.excel', 'openpyxl.worksheet.drawing', 'openpyxl.chartsheet.relation', 'openpyxl.chartsheet.properties', 'openpyxl.chartsheet.protection', 'openpyxl.chartsheet.views', 'openpyxl.chartsheet.custom', 'openpyxl.chartsheet.publish', 'openpyxl.chartsheet.chartsheet', 'openpyxl.chartsheet', 'openpyxl.packaging.core', 'openpyxl.workbook.workbook', 'openpyxl.workbook', 'openpyxl.reader', 'openpyxl.pivot', 'openpyxl.pivot.fields', 'openpyxl.pivot.table', 'openpyxl.reader.strings', 'openpyxl.workbook.external_link.external', 'openpyxl.workbook.external_link', 'openpyxl.pivot.cache', 'openpyxl.pivot.record', 'openpyxl.reader.workbook', 'openpyxl.chart.plotarea', 'openpyxl.chart.pivot', 'openpyxl.chart.print_settings', 'openpyxl.chart.chartspace', 'openpyxl.chart.reader', 'openpyxl.reader.drawings', 'openpyxl.reader.excel', 'openpyxl._constants', 'openpyxl', 'colour', 'styleframe.styler', 'styleframe.container', 'styleframe.series', 'styleframe.style_frame', 'styleframe.command_line', 'argparse', 'ipaddress', 'attr._compat', 'attr._config', 'attr.exceptions', 'attr.setters', 'attr._make', 'attr.converters', 'attr.filters', 'attr.validators', 'attr._cmp', 'attr._funcs', 'attr._version_info', 'attr._next_gen', 'attr', 'importlib._common', 'importlib.resources', 'jsonschema._utils', 'jsonschema.exceptions', 'idna.package_data', 'idna.idnadata', 'idna.intranges', 'idna.core', 'idna', 'jsonschema._format', 'pyrsistent._transformations', 'pvectorc', 'pyrsistent._pvector', 'pyrsistent._pmap', 'pyrsistent._pset', 'pyrsistent._pbag', 'pyrsistent._plist', 'pyrsistent._pdeque', 'pyrsistent._checked_types', 'pyrsistent._field_common', 'pyrsistent._precord', 'pyrsistent._pclass', 'pyrsistent._immutable', 'pyrsistent._helpers', 'pyrsistent._toolz', 'pyrsistent', 'jsonschema._types', 'http', '_ssl', 'ssl', 'http.client', 'urllib.response', 'urllib.error', 'nturl2path', 'urllib.request', 'jsonschema._legacy_validators', 'jsonschema._validators', 'jsonschema.validators', 'jsonschema.protocols', 'jsonschema', 'styleframe.version', 'styleframe.tests', 'styleframe.command_line.tests', 'styleframe.command_line.tests.json_schema', 'styleframe.command_line.commandline', 'styleframe.deprecations', 'unittest.util', 'unittest.result', 'difflib', 'unittest.case', 'unittest.suite', 'unittest.loader', 'unittest.signals', 'unittest.runner', 'unittest.main', 'unittest', 'concurrent', 'concurrent.futures._base', 'concurrent.futures', 'asyncio.constants', 'asyncio.format_helpers', 'asyncio.base_futures', 'asyncio.log', 'asyncio.coroutines', '_contextvars', 'contextvars', 'asyncio.exceptions', 'asyncio.base_tasks', '_asyncio', 'asyncio.events', 'asyncio.futures', 'asyncio.protocols', 'asyncio.transports', 'asyncio.sslproto', 'asyncio.locks', 'asyncio.tasks', 'asyncio.staggered', 'asyncio.trsock', 'asyncio.base_events', 'asyncio.runners', 'asyncio.queues', 'asyncio.streams', 'asyncio.subprocess', 'asyncio.threads', '_overlapped', 'asyncio.base_subprocess', 'asyncio.proactor_events', 'asyncio.selector_events', 'asyncio.windows_utils', 'asyncio.windows_events', 'asyncio', 'unittest.mock', 'styleframe.command_line.tests.commandline_tests', 'styleframe.tests.container_tests', 'styleframe.tests.series_tests', 'styleframe.tests.style_frame_tests', 'styleframe.tests.styler_tests', 'styleframe.tests.tests', 'styleframe', 'encodings.ascii', 'pandas.io.formats.string', 'xlsxwriter.xmlwriter', 'xlsxwriter.format', 'xlsxwriter.shape', 'xlsxwriter.utility', 'xlsxwriter.drawing', 'xlsxwriter.exceptions', 'xlsxwriter.worksheet', 'xlsxwriter.chartsheet', 'xlsxwriter.sharedstrings', 'xlsxwriter.app', 'xlsxwriter.contenttypes', 'xlsxwriter.core', 'xlsxwriter.custom', 'xlsxwriter.metadata', 'xlsxwriter.relationships', 'xlsxwriter.styles', 'xlsxwriter.theme', 'xlsxwriter.vml', 'xlsxwriter.table', 'xlsxwriter.comments', 'xlsxwriter.packager', 'xlsxwriter.chart', 'xlsxwriter.chart_area', 'xlsxwriter.chart_bar', 'xlsxwriter.chart_column', 'xlsxwriter.chart_pie', 'xlsxwriter.chart_doughnut', 'xlsxwriter.chart_line', 'xlsxwriter.chart_radar', 'xlsxwriter.chart_scatter', 'xlsxwriter.chart_stock', 'xlsxwriter.workbook', 'xlsxwriter', 'pip', '_distutils_hack', '_distutils_hack.override', 'distutils', 'distutils.debug', 'distutils.errors', 'getopt', 'distutils.fancy_getopt', 'distutils.dep_util', 'distutils.log', 'distutils.spawn', 'distutils.util', 'distutils.dist', 'distutils.dir_util', 'distutils.file_util', 'distutils.archive_util', 'distutils.cmd', 'distutils.config', 'distutils.extension', 'distutils.core', 'setuptools._deprecation_warning', 'plistlib', 'pkg_resources.extern', 'pkg_resources._vendor', 'pkg_resources._vendor.appdirs', 'pkg_resources.extern.appdirs', 'pkg_resources._vendor.packaging.__about__', 'pkg_resources._vendor.packaging', 'pkg_resources.extern.packaging', 'pkg_resources.extern.packaging._structures', 'pkg_resources.extern.packaging._typing', 'pkg_resources.extern.packaging.version', 'pkg_resources.extern.packaging._compat', 'pkg_resources.extern.packaging.utils', 'pkg_resources.extern.packaging.specifiers', 'pkg_resources._vendor.pyparsing', 'pkg_resources.extern.pyparsing', 'pkg_resources.extern.packaging.markers', 'pkg_resources.extern.packaging.requirements', 'pkg_resources', 'setuptools.version', 'distutils.filelist', 'setuptools.monkey', 'setuptools.extension', 'distutils.command', 'distutils.version', 'setuptools.extern', 'setuptools._vendor', 'setuptools._vendor.packaging.__about__', 'setuptools._vendor.packaging', 'setuptools.extern.packaging', 'setuptools._vendor.ordered_set', 'setuptools.extern.ordered_set', 'concurrent.futures.thread', 'setuptools._vendor.more_itertools.recipes', 'setuptools._vendor.more_itertools.more', 'setuptools._vendor.more_itertools', 'setuptools.extern.more_itertools', 'distutils.command.bdist', 'setuptools.command', 'setuptools.windows_support', 'setuptools.extern.packaging._structures', 'setuptools.extern.packaging._typing', 'setuptools.extern.packaging.version', 'setuptools.extern.packaging._compat', 'setuptools.extern.packaging.utils', 'setuptools.extern.packaging.specifiers', 'setuptools.config', 'setuptools.dist', 'setuptools.py34compat', 'setuptools._imp', 'setuptools.depends', 'distutils.ccompiler', 'distutils.msvc9compiler', 'setuptools.msvc', 'distutils._msvccompiler', 'setuptools', '_pytest._version', '_pytest', 'pluggy._version', 'pluggy._tracing', 'pluggy._result', 'pluggy._callers', 'pluggy._hooks', 'pluggy._manager', 'pluggy', '_pytest._code.source', '_pytest._io.wcwidth', 'py.error', 'py._error', 'py._vendored_packages', 'py._vendored_packages.apipkg.version', 'py._vendored_packages.apipkg', 'py._version', 'py.test', 'py.process', 'py.apipkg', 'py.iniconfig', 'py.path', 'py.code', 'py.builtin', 'py.io', 'py.xml', 'py.log', 'py', 'py._path', 'py._path.common', 'py._path.local', '_pytest.compat', '_pytest._io.terminalwriter', '_pytest._io', '_pytest._io.saferepr', '_pytest.warning_types', '_pytest.deprecated', '_pytest.outcomes', '_pytest.pathlib', '_pytest._code.code', '_pytest._code', 'shlex', '_pytest.hookspec', '_pytest.config.exceptions', 'iniconfig', '_pytest.config.findpaths', '_pytest.stash', '_pytest.config', '_pytest.assertion.util', '_pytest.mark.expression', '_pytest.mark.structures', '_pytest.config.argparsing', '_pytest.mark', '_pytest.nodes', '_pytest.scope', '_pytest.fixtures', '_pytest.reports', 'bdb', '_pytest.timing', '_pytest.runner', '_pytest.main', 'atomicwrites', '_pytest.assertion.rewrite', '_pytest.assertion.truncate', '_pytest.assertion', '_pytest.python', '_pytest.cacheprovider', '_pytest.capture', '_pytest.debugging', '_pytest.freeze_support', '_pytest.monkeypatch', '_pytest.tmpdir', '_pytest.pytester', '_pytest.terminal', '_pytest.legacypath', '_pytest.logging', '_pytest.python_api', '_pytest.recwarn', 'pytest', 'six.moves.urllib', 'webencodings.labels', 'encodings.utf_16_le', 'encodings.utf_16_be', 'webencodings', 'html5lib.constants', 'html5lib._utils', 'html5lib._inputstream', 'html5lib._trie._base', 'html5lib._trie.py', 'html5lib._trie', 'html5lib._tokenizer', 'html5lib.treebuilders', 'html5lib.treebuilders.base', 'html5lib.html5parser', 'html5lib.treewalkers', 'xml.sax.handler', 'xml.sax._exceptions', 'xml.sax.xmlreader', 'xml.sax', 'xml.sax.saxutils', 'html5lib.serializer', 'html5lib', 'jinja2.bccache', 'markupsafe._speedups', 'markupsafe', 'jinja2.utils', 'jinja2.nodes', 'jinja2.exceptions', 'jinja2.visitor', 'jinja2.idtracking', 'jinja2.optimizer', 'jinja2.compiler', 'jinja2.async_utils', 'jinja2.runtime', 'jinja2.filters', 'jinja2.tests', 'jinja2.defaults', 'jinja2._identifier', 'jinja2.lexer', 'jinja2.parser', 'jinja2.environment', 'jinja2.loaders', 'jinja2', 'soupsieve.__meta__', 'soupsieve.util', 'soupsieve.pretty', 'soupsieve.css_types', 'soupsieve.css_match', 'soupsieve.css_parser', 'soupsieve', 'html.entities', 'html', 'bs4.dammit', 'bs4.formatter', 'bs4.element', '_markupbase', 'html.parser', 'bs4.builder._htmlparser', 'bs4.builder._html5lib', 'bs4.builder', 'bs4', 'matplotlib', 'packaging.__about__', 'packaging', 'packaging._structures', 'packaging.version', 'matplotlib._api.deprecation', 'matplotlib._api', 'matplotlib._version', 'matplotlib._c_internal_utils', 'matplotlib.cbook', 'matplotlib.docstring', 'PIL.ImageChops', 'PIL.ImageFile', 'PIL.GimpGradientFile', 'PIL.GimpPaletteFile', 'PIL.ImageColor', 'PIL.PaletteFile', 'PIL.ImagePalette', 'PIL.ImageSequence', 'PIL.PngImagePlugin', 'matplotlib._path', 'matplotlib.bezier', 'matplotlib.path', 'matplotlib.transforms', 'matplotlib.ticker', 'matplotlib.scale', 'matplotlib._color_data', 'matplotlib.colors', 'pyparsing.util', 'pyparsing.unicode', 'pyparsing.exceptions', 'pyparsing.actions', 'pyparsing.results', 'pyparsing.core', 'pyparsing.helpers', 'pyparsing.testing', 'pyparsing.common', 'pyparsing', 'matplotlib.fontconfig_pattern', 'matplotlib._enums', 'cycler', 'matplotlib.rcsetup', 'matplotlib.ft2font', 'kiwisolver']

INSTALLED VERSIONS
------------------
commit           : f00ed8f47020034e752baf0250483053340971b0
python           : 3.9.10.final.0
python-bits      : 64
OS               : Windows
OS-release       : 10
Version          : 10.0.19043
machine          : AMD64
processor        : Intel64 Family 6 Model 140 Stepping 1, GenuineIntel
byteorder        : little
LC_ALL           : None
LANG             : None
LOCALE           : de_DE.cp1252

pandas           : 1.3.0
numpy            : 1.22.1
pytz             : 2021.3
dateutil         : 2.8.2
pip              : 22.1.2
setuptools       : 58.1.0
Cython           : None
pytest           : 7.1.2
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : 3.0.2
lxml.etree       : None
html5lib         : 1.1
pymysql          : None
psycopg2         : None
jinja2           : 3.0.3
IPython          : None
pandas_datareader: None
bs4              : 4.10.0
bottleneck       : None
fsspec           : None
fastparquet      : None
gcsfs            : None
matplotlib       : 3.5.1
numexpr          : None
odfpy            : None
openpyxl         : 3.0.9
pandas_gbq       : None
pyarrow          : 8.0.0
pyxlsb           : None
s3fs             : None
scipy            : 1.8.1
sqlalchemy       : None
tables           : None
tabulate         : 0.8.9
xarray           : None
xlrd             : 2.0.1
xlwt             : None
numba            : None
@buhtz buhtz added Bug Needs Triage Issue that has not been reviewed by a pandas team member labels Jun 29, 2022
@simonjayhawkins simonjayhawkins added the IO Excel read_excel, to_excel label Jul 11, 2022
@simonjayhawkins simonjayhawkins added this to the Contributions Welcome milestone Jul 11, 2022
@dimitra-karadima
Copy link
Contributor

Hi @simonjayhawkins, I want to tackle this issue. If you have any suggestions on this, I would be happy to hear it.

@VinitaSilaparasetty
Copy link

I would like to work on this issue as well. Thanks.

@mroeschke mroeschke removed this from the Contributions Welcome milestone Oct 13, 2022
@rhshadrach rhshadrach removed the Needs Triage Issue that has not been reviewed by a pandas team member label Jan 14, 2024
@rhshadrach
Copy link
Member

Confirmed on main, further investigations and PRs to fix are welcome!

@rmhowe425
Copy link
Contributor

take

@asishm
Copy link
Contributor

asishm commented Nov 9, 2024

@mroeschke @michiel-de-muynck can this be closed by #60230 as well?

@asishm asishm added the Closing Candidate May be closeable, needs more eyeballs label Nov 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Closing Candidate May be closeable, needs more eyeballs IO Excel read_excel, to_excel
Projects
None yet
Development

No branches or pull requests

8 participants