title: Read first column of TXT or CSV or XLS or XLSX
body: <p>I need to parse the first column of a document into a list <code>['item1', 'item2', ...]</code>, and this document can be:</p>
  
  <ul>
  <li>a TXT document (items separated by newlines)</li>
  <li>a CSV document with one single column (then it's similar to TXT document)</li>
  <li>a CSV with many columns, separated by <code>;</code></li>
  <li>a CSV with many columns, separated by <code>,</code></li>
  <li>a XLS with one or many columns</li>
  <li>a XLSX with one or many columns</li>
  </ul>
  
  <p>I was about to code it with many cases:</p>
  
  <pre><code>ext = os.path.splitext(f)[1].lower()
  if ext == '.txt':
      with open(f, 'r') as f:
          L = f.read().splitlines()
  if ext == '.csv':
      reader = csv.reader(...)
      ...
  if ext == '.xls':
      ...
  </code></pre>
  
  <p>but <strong>is there a general higher-level tool in Python that does all of this directly?</strong></p>