Skip to content

Commit 29a3f4f

Browse files
authored
Adding encoding specification parameter when opening yaml file
Adding the ability to specify in which encoding the file should be opened to generate a table from yaml
1 parent 967b5d4 commit 29a3f4f

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/mkdocs_table_reader_plugin/readers.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,23 @@ def read_excel(*args, **kwargs) -> str:
133133

134134
@ParseArgs
135135
def pd_read_yaml(*args, **kwargs) -> str:
136+
defaultEncoding = "UTF-8"
137+
if "encoding" in kwargs:
138+
defaultEncoding = kwargs["encoding"]
139+
del kwargs["encoding"]
136140
json_kwargs = kwargs_in_func(kwargs, pd.json_normalize)
137-
with open(args[0]) as f:
141+
with open(args[0], "r", encoding=defaultEncoding) as f:
138142
df = pd.json_normalize(yaml.safe_load(f), **json_kwargs)
139143
return df
140144

141145
@ParseArgs
142146
def read_yaml(*args, **kwargs) -> str:
147+
defaultEncoding = "UTF-8"
148+
if "encoding" in kwargs:
149+
defaultEncoding = kwargs["encoding"]
150+
del kwargs["encoding"]
143151
json_kwargs = kwargs_in_func(kwargs, pd.json_normalize)
144-
with open(args[0]) as f:
152+
with open(args[0], "r", encoding=defaultEncoding) as f:
145153
df = pd.json_normalize(yaml.safe_load(f), **json_kwargs)
146154

147155
markdown_kwargs = kwargs_not_in_func(kwargs, pd.json_normalize)
@@ -194,4 +202,4 @@ def read_raw(*args, **kwargs) -> str:
194202
"pd_read_json": pd_read_json,
195203
"pd_read_feather": pd_read_feather,
196204
}
197-
MACROS = {**READERS, **MACRO_ONLY}
205+
MACROS = {**READERS, **MACRO_ONLY}

0 commit comments

Comments
 (0)