title: Question about ETL Work on Python/in General
body: <p>Right now I have a challenge where I have to upload a CSV file into SQL but before I have to check if data is ok, and other stuff with Python. But watching by my own hand there are some rows that are wrong, so...</p>
  <p><strong><em>QUESTION</em>:</strong></p>
  <p>How do you deal with, again, &quot;wrong rows&quot;, but also well written and respecting the syntax of the SQL table? See this for example:</p>
  <p>This is the CSV:</p>
  <pre><code>Jonathan; (empty, but is valid)
  Nancy; She is a student in the MIT
  Juan; Juan is a software developer in –
  &quot;Oracle since five years ago&quot;&quot;; (also empty and valid, and yes it does have two &quot;&quot; at the end)
  Gisselle; she works in Microsoft since last year etc...
  </code></pre>
  <p>And this is how it is persisted:</p>
  <pre><code>id (auto generated)   name (varchar, not null)             description (optional)
  1                     Juan                                 Juan is a software developer in
  2                     Oracle since five years ago          null
  </code></pre>
  <p>See? That part of the &quot;Oracle since five years ago&quot; is a continuation of Juan description which for some reason was in another row, but this technically for SQL is okay, but, as you can imagine, is not useful and totally wrong.</p>
  <p>In this type of cases, you have to delete (or fix) the row by you own hand (or writing an specific code for that specific CSV)? There isn't any test or something than you can write in code for at least detect this issues or similar? And not only for Python, but with any other tool where you can do ETL work?</p>