XLRD vs Win32 COM performance comparison
<p>I have this huge <code>Excel (xls)</code> file that I have to read data from. I tried using the <code>xlrd</code> library, but is pretty slow. I then found out that by converting the <code>Excel</code> file to <code>CSV</code> file manually and reading the <code>CSV</code> file is orders of magnitude faster.</p>

<p>But I cannot ask my client to save the <code>xls</code> as <code>csv</code> manually every time before importing the file. So I thought of converting the file on the fly, before reading it.</p>

<p>Has anyone done any benchmarking as to which procedure is faster:</p>

<ul>
<li>Open the <code>Excel</code> file with with the <code>xlrd</code> library and save it as <code>CSV</code> file, or</li>
<li>Open the <code>Excel</code> file with <code>win32com</code> library and save it as <code>CSV</code> file?</li>
</ul>

<p>I am asking because the slowest part is the opening of the file, so if I can get a performance boots from using <code>win32com</code> I would gladly try it.</p>

<p>if you need to read the file frequently, I think it is better to save it as CSV. Otherwise, just read it on the fly. </p>

<p>for performance issue, I think win32com outperforms. however, considering cross-platform compatibility, I think xlrd is better.
win32com is more powerful. With it, one can handle Excel in all ways (e.g. reading/writing cells or ranges). 
However, if you are seeking a quick file conversion, I think pandas.read_excel also works.</p>

<p>I am using another package xlwings. so I am also interested with a comparison among these packages. </p>

<p>to my opinion,
I would use pandas.read_excel to for quick file conversion.
If demanding more processing on Excel, I would choose win32com.</p>

python excel csv win32com