<p dir="auto">now that we removed <code class="notranslate">sandbox</code> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="165914680" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/13670" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/13670/hovercard" href="https://github.com/pandas-dev/pandas/pull/13670">#13670</a>, some scripts remain that use this.</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I think we could fully remove the <code class="notranslate">bench</code> sub-dir, taking care if we don't have asv's for anything there (I think we do but need to check). (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="243260274" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/16984" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/16984/hovercard" href="https://github.com/pandas-dev/pandas/pull/16984">#16984</a>)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <code class="notranslate">scripts</code> dir, we can blow windows_builder (PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="243260274" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/16984" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/16984/hovercard" href="https://github.com/pandas-dev/pandas/pull/16984">#16984</a>)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <code class="notranslate">scripts</code> dir, we can blow away most of these with the exception of: <code class="notranslate">api_rst_coverage.py</code>, <code class="notranslate">find_undoc_args.py</code>, <code class="notranslate">merge-py.py</code>, <code class="notranslate">find_commits_touching_func.py</code>, again checking for any benchmark scripts and make sure we have asv.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> add README.md for <code class="notranslate">scripts</code> that documents purpose of these scripts</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <del>move <code class="notranslate">pandas/build_dist.sh</code> and <code class="notranslate">pandas/release_stats.sh</code> to <code class="notranslate">scripts</code> (need to updat e commit checklist though and slightly modify).</del></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <del>remove <code class="notranslate">pandas/test_perf.sh</code> and <code class="notranslate">pandas/Makefile</code></del></li>
</ul>
<p dir="auto">related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="17655872" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/4468" data-hovercard-type="issue" data-hovercard-url="/pandas-dev/pandas/issues/4468/hovercard" href="https://github.com/pandas-dev/pandas/issues/4468">#4468</a></p>
<p dir="auto">Add keyword argument to ExcelFile parser to take an integer / list for the rows to interpret as header rows. If more than one, interpret as hierarchical columns / MultiIndex.</p>
<p dir="auto">Presumably this would also allow you to round-trip  Data Frame with hierarchical columns.</p>
<p dir="auto">Basically, if you have something spanning two columns, just converts to two cells with the data in the original cell, ending up just like what you need for csv reader.</p>