|
199 | 199 |
|
200 | 200 | """
|
201 | 201 |
|
| 202 | + |
| 203 | +def _to_excel(self, excel_writer, sheet_name='Sheet1', na_rep='', |
| 204 | + float_format=None, columns=None, header=True, index=True, |
| 205 | + index_label=None, startrow=0, startcol=0, engine=None, |
| 206 | + merge_cells=True, encoding=None, inf_rep='inf', verbose=True, |
| 207 | + freeze_panes=None): |
| 208 | + # This implementation is shared by Styler.to_excel |
| 209 | + from pandas.io.excel import ExcelWriter |
| 210 | + need_save = False |
| 211 | + if encoding is None: |
| 212 | + encoding = 'ascii' |
| 213 | + |
| 214 | + if isinstance(excel_writer, compat.string_types): |
| 215 | + excel_writer = ExcelWriter(excel_writer, engine=engine) |
| 216 | + need_save = True |
| 217 | + |
| 218 | + formatter = fmt.ExcelFormatter(self, na_rep=na_rep, cols=columns, |
| 219 | + header=header, |
| 220 | + float_format=float_format, index=index, |
| 221 | + index_label=index_label, |
| 222 | + merge_cells=merge_cells, |
| 223 | + inf_rep=inf_rep) |
| 224 | + |
| 225 | + formatted_cells = formatter.get_formatted_cells() |
| 226 | + |
| 227 | + if freeze_panes is not None: |
| 228 | + if len(freeze_panes) != 2 or any(not isinstance(item, int) |
| 229 | + for item in freeze_panes): |
| 230 | + raise ValueError("freeze_panes must be of form (row, column)" |
| 231 | + " where row and column are integers") |
| 232 | + |
| 233 | + excel_writer.write_cells(formatted_cells, sheet_name, |
| 234 | + startrow=startrow, startcol=startcol, |
| 235 | + freeze_panes=freeze_panes) |
| 236 | + if need_save: |
| 237 | + excel_writer.save() |
| 238 | + |
202 | 239 | # -----------------------------------------------------------------------
|
203 | 240 | # DataFrame class
|
204 | 241 |
|
@@ -1391,46 +1428,9 @@ def to_csv(self, path_or_buf=None, sep=",", na_rep='', float_format=None,
|
1391 | 1428 | if path_or_buf is None:
|
1392 | 1429 | return formatter.path_or_buf.getvalue()
|
1393 | 1430 |
|
1394 |
| - @Appender(_shared_docs['to_excel'] % _shared_doc_kwargs) |
1395 |
| - def to_excel(self, excel_writer, sheet_name='Sheet1', na_rep='', |
1396 |
| - float_format=None, columns=None, header=True, index=True, |
1397 |
| - index_label=None, startrow=0, startcol=0, engine=None, |
1398 |
| - merge_cells=True, encoding=None, inf_rep='inf', verbose=True, |
1399 |
| - freeze_panes=None): |
1400 |
| - from pandas.io.excel import ExcelWriter |
1401 |
| - need_save = False |
1402 |
| - if encoding is None: |
1403 |
| - encoding = 'ascii' |
1404 |
| - |
1405 |
| - if isinstance(excel_writer, compat.string_types): |
1406 |
| - excel_writer = ExcelWriter(excel_writer, engine=engine) |
1407 |
| - need_save = True |
1408 |
| - |
1409 |
| - formatter = fmt.ExcelFormatter(self, na_rep=na_rep, cols=columns, |
1410 |
| - header=header, |
1411 |
| - float_format=float_format, index=index, |
1412 |
| - index_label=index_label, |
1413 |
| - merge_cells=merge_cells, |
1414 |
| - inf_rep=inf_rep) |
1415 |
| - |
1416 |
| - formatted_cells = formatter.get_formatted_cells() |
1417 |
| - freeze_panes = self._validate_freeze_panes(freeze_panes) |
1418 |
| - excel_writer.write_cells(formatted_cells, sheet_name, |
1419 |
| - startrow=startrow, startcol=startcol, |
1420 |
| - freeze_panes=freeze_panes) |
1421 |
| - if need_save: |
1422 |
| - excel_writer.save() |
1423 |
| - |
1424 |
| - def _validate_freeze_panes(self, freeze_panes): |
1425 |
| - if freeze_panes is not None: |
1426 |
| - if ( |
1427 |
| - len(freeze_panes) == 2 and |
1428 |
| - all(isinstance(item, int) for item in freeze_panes) |
1429 |
| - ): |
1430 |
| - return freeze_panes |
1431 |
| - |
1432 |
| - raise ValueError("freeze_panes must be of form (row, column)" |
1433 |
| - " where row and column are integers") |
| 1431 | + to_excel = Appender(_shared_docs['to_excel'] |
| 1432 | + % _shared_doc_kwargs)(_to_excel) |
| 1433 | + |
1434 | 1434 |
|
1435 | 1435 | def to_stata(self, fname, convert_dates=None, write_index=True,
|
1436 | 1436 | encoding="latin-1", byteorder=None, time_stamp=None,
|
|
0 commit comments