Hi all, I'm encountering an encoding-related erro...
# questions
p
Hi all, I'm encountering an encoding-related error (attached) when running a Kedro pipeline on a Windows machine via the command prompt. The same pipeline runs fine for colleagues on macOS, so I suspect this may be a Windows-specific issue. Here is the exact traceback:
Copy code
INFO     Running node: export_comparables: export_comparables() -> node.py:370
[07/08/25 16:22:13] INFO     Saving data to comparables (CSVDataset)...                                                                                                                                                                                  data_catalog.py:445
                    WARNING  There are 3 nodes that have not run.                                                                                                                                                                                        runner.py:344
                             You can resume the pipeline run from the nearest nodes with persisted inputs by adding the following argument to your previous command:                                                                                                                                                                                                     
                               --from-nodes "export_comparables,tree_to_lookup_table,tree_to_python"                                                                                                                                                                                                     
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\io\core.py:324 in save             │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro_datasets\pandas\csv_dataset.py:186 │
│ in save                                                                                          │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\pandas\util\_decorators.py:333 in        │
│ wrapper                                                                                          │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\pandas\core\generic.py:3967 in to_csv    │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\pandas\io\formats\format.py:1014 in      │
│ to_csv                                                                                           │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\pandas\io\formats\csvs.py:270 in save    │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\pandas\io\formats\csvs.py:275 in _save   │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\pandas\io\formats\csvs.py:313 in         │
│ _save_body                                                                                       │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\pandas\io\formats\csvs.py:324 in         │
│ _save_chunk                                                                                      │
│                                                                                                  │
│ in pandas._libs.writers.write_csv_rows:73                                                        │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\encodings\cp1252.py:19 in encode                       │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
UnicodeEncodeError: 'charmap' codec can't encode character '\u2033' in position 21: character maps to <undefined>

The above exception was the direct cause of the following exception:

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ in _run_module_as_main:198                                                                       │
│ in _run_code:88                                                                                  │
│                                                                                                  │
│ in <module>:7                                                                                    │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\framework\cli\cli.py:263 in main   │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\click\core.py:1161 in __call__           │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\framework\cli\cli.py:163 in main   │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\click\core.py:1082 in main               │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\click\core.py:1697 in invoke             │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\click\core.py:1443 in invoke             │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\click\core.py:788 in invoke              │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\framework\cli\project.py:237 in    │
│ run                                                                                              │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\framework\session\session.py:399   │
│ in run                                                                                           │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\runner\runner.py:131 in run        │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\runner\sequential_runner.py:72 in  │
│ _run                                                                                             │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\runner\runner.py:245 in _run       │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\runner\task.py:88 in execute       │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\runner\task.py:186 in              │
│ _run_node_sequential                                                                             │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\io\data_catalog.py:452 in save     │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\io\core.py:858 in save             │
│                                                                                                  │
│ C:\Users\Pooja Mukund\.conda\envs\wwt\Lib\site-packages\kedro\io\core.py:329 in save             │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
DatasetError: Failed while saving data to dataset CSVDataset(filepath=C:/Users/Pooja Mukund/OneDrive - McKinsey & Company/Documents/WWT/wwt-periscope/data/assets/comparables.csv, load_args={}, protocol=file, save_args={'encoding': utf-8-sig, 'index': False}).
'charmap' codec can't encode character '\u2033' in position 21: character maps to <undefined>
In my catalog.yml (screenshot attached), the encoding is set to utf-8. I've also tried switching it to utf-8-sig, but the error persists. It seems to occur when reading or writing certain datasets, and I suspect it’s related to how Windows handles file encoding by default. Has anyone encountered a similar issue when running Kedro on Windows, or have suggestions on how to troubleshoot or resolve this?
d
I think you want utf-16
👍 1