@@ -60,22 +60,38 @@ def __call__(self, *args, **kwargs):
6060 return self .func (valid_file_paths [0 ], * args , ** kwargs )
6161
6262
63+ @ParseArgs
64+ def pd_read_csv (* args , ** kwargs ) -> str :
65+ read_kwargs = kwargs_in_func (kwargs , pd .read_csv )
66+ return pd .read_csv (* args , ** read_kwargs )
67+
6368@ParseArgs
6469def read_csv (* args , ** kwargs ) -> str :
6570 read_kwargs = kwargs_in_func (kwargs , pd .read_csv )
6671 df = pd .read_csv (* args , ** read_kwargs )
6772
6873 markdown_kwargs = kwargs_not_in_func (kwargs , pd .read_csv )
69- return convert_to_md_table (df , markdown_kwargs )
74+ return convert_to_md_table (df , ** markdown_kwargs )
7075
7176
77+ @ParseArgs
78+ def pd_read_table (* args , ** kwargs ) -> str :
79+ read_kwargs = kwargs_in_func (kwargs , pd .read_table )
80+ return pd .read_table (* args , ** read_kwargs )
81+
7282@ParseArgs
7383def read_table (* args , ** kwargs ) -> str :
7484 read_kwargs = kwargs_in_func (kwargs , pd .read_table )
7585 df = pd .read_table (* args , ** read_kwargs )
7686
7787 markdown_kwargs = kwargs_not_in_func (kwargs , pd .read_table )
78- return convert_to_md_table (df , markdown_kwargs )
88+ return convert_to_md_table (df , ** markdown_kwargs )
89+
90+
91+ @ParseArgs
92+ def pd_read_fwf (* args , ** kwargs ) -> str :
93+ read_kwargs = kwargs_in_func (kwargs , pd .read_fwf )
94+ return pd .read_fwf (* args , ** read_kwargs )
7995
8096
8197@ParseArgs
@@ -84,7 +100,12 @@ def read_fwf(*args, **kwargs) -> str:
84100 df = pd .read_fwf (* args , ** read_kwargs )
85101
86102 markdown_kwargs = kwargs_not_in_func (kwargs , pd .read_fwf )
87- return convert_to_md_table (df , markdown_kwargs )
103+ return convert_to_md_table (df , ** markdown_kwargs )
104+
105+ @ParseArgs
106+ def pd_read_json (* args , ** kwargs ) -> str :
107+ read_kwargs = kwargs_in_func (kwargs , pd .read_json )
108+ return pd .read_json (* args , ** read_kwargs )
88109
89110
90111@ParseArgs
@@ -93,7 +114,12 @@ def read_json(*args, **kwargs) -> str:
93114 df = pd .read_json (* args , ** read_kwargs )
94115
95116 markdown_kwargs = kwargs_not_in_func (kwargs , pd .read_json )
96- return convert_to_md_table (df , markdown_kwargs )
117+ return convert_to_md_table (df , ** markdown_kwargs )
118+
119+ @ParseArgs
120+ def pd_read_excel (* args , ** kwargs ) -> str :
121+ read_kwargs = kwargs_in_func (kwargs , pd .read_excel )
122+ return pd .read_excel (* args , ** read_kwargs )
97123
98124
99125@ParseArgs
@@ -102,17 +128,30 @@ def read_excel(*args, **kwargs) -> str:
102128 df = pd .read_excel (* args , ** read_kwargs )
103129
104130 markdown_kwargs = kwargs_not_in_func (kwargs , pd .read_excel )
105- return convert_to_md_table (df , markdown_kwargs )
131+ return convert_to_md_table (df , ** markdown_kwargs )
106132
107133
134+ @ParseArgs
135+ def pd_read_yaml (* args , ** kwargs ) -> str :
136+ json_kwargs = kwargs_in_func (kwargs , pd .json_normalize )
137+ with open (args [0 ], "r" ) as f :
138+ df = pd .json_normalize (yaml .safe_load (f ), ** json_kwargs )
139+ return df
140+
108141@ParseArgs
109142def read_yaml (* args , ** kwargs ) -> str :
110143 json_kwargs = kwargs_in_func (kwargs , pd .json_normalize )
111144 with open (args [0 ], "r" ) as f :
112145 df = pd .json_normalize (yaml .safe_load (f ), ** json_kwargs )
113146
114147 markdown_kwargs = kwargs_not_in_func (kwargs , pd .json_normalize )
115- return convert_to_md_table (df , markdown_kwargs )
148+ return convert_to_md_table (df , ** markdown_kwargs )
149+
150+
151+ @ParseArgs
152+ def pd_read_feather (* args , ** kwargs ) -> str :
153+ read_kwargs = kwargs_in_func (kwargs , pd .read_feather )
154+ return pd .read_feather (* args , ** read_kwargs )
116155
117156
118157@ParseArgs
@@ -121,7 +160,7 @@ def read_feather(*args, **kwargs) -> str:
121160 df = pd .read_feather (* args , ** read_kwargs )
122161
123162 markdown_kwargs = kwargs_not_in_func (kwargs , pd .read_feather )
124- return convert_to_md_table (df , markdown_kwargs )
163+ return convert_to_md_table (df , ** markdown_kwargs )
125164
126165
127166@ParseArgs
@@ -145,3 +184,14 @@ def read_raw(*args, **kwargs) -> str:
145184 "read_feather" : read_feather ,
146185 "read_raw" : read_raw ,
147186}
187+
188+ MACRO_ONLY = {
189+ "pd_read_csv" : pd_read_csv ,
190+ "pd_read_table" : pd_read_table ,
191+ "pd_read_fwf" : pd_read_fwf ,
192+ "pd_read_excel" : pd_read_excel ,
193+ "pd_read_yaml" : pd_read_yaml ,
194+ "pd_read_json" : pd_read_json ,
195+ "pd_read_feather" : pd_read_feather ,
196+ }
197+ MACROS = {** READERS , ** MACRO_ONLY }
0 commit comments