title: Read unstructured CSV
body: <p>I want to parse a given csv file, that looks like</p>
  
  <pre>
  "header_1" ; "header_2"; "header_3"
  "a" ; "b" ; "c"
  "1" ; "2" ; "3"
  
  Some footer text; maybe more.
  </pre>  
  
  <p>Only well and correct structured fields shall be parsed. How can I enforce that?</p>
  
  <p>The following code does the job:</p>
  
  <pre><code>with open(path) as csv_file:
      reader = csv.reader(csv_file, delimiter=";", strict=False)
      result = []
      for row in reader:
          if row == []:
              break
          result += [row]
  </code></pre>
  
  <p>Is there a smarter, pythonic solution without checking the line if it is empty or not? In general, I would prefer <a href="https://docs.python.org/3.6/library/csv.html#csv.DictReader" rel="nofollow noreferrer">DictReader</a>.</p>