title: Read text file in Python, separated by ',' and with ';' as line terminator
body: <p>My problem is that I have multiple text files with size of 200mb+ with this format (very little example):</p>
  
  <pre><code>john,smith,3;sasha,dilma,4;sofia,vergara,5;etc.
  </code></pre>
  
  <p>I need to read all those files and analyze the information, graph, sum, etc.</p>
  
  <p>I've been thinking in different methods to save the data and use it in Python. However, the line terminator ';' is causing problems every time I try to load data into a DataBase or directly in Python (also tried with lineterminator parameter), for example:</p>
  
  <pre><code>import pandas as pd
  userHeader = ['name', 'last_name', 'number']
  users = pd.read_table('C:/prueba.txt', engine='python', sep=',', header=None, names=userHeader)
  
  # print 3 first users
  print '# 3 first users: \n%s' % users[:2]
  </code></pre>
  
  <p>Result:</p>
  
  <pre><code># 3 first users: 
             name        last_name              number
  0  john,smith,3  sasha,dilma,4  sofia,vergara,5
  </code></pre>
  
  <p>Edit. When I implement lineterminator just like this:</p>
  
  <pre><code>users = pd.read_table('C:/prueba.txt', engine='python', sep=',', lineterminator=';', header=None, names=userHeader)
  </code></pre>
  
  <p>I get the following:</p>
  
  <pre><code>---------------------------------------------------------------------------
  ValueError                                Traceback (most recent call last)
  &lt;ipython-input-2-23a80631d090&gt; in &lt;module&gt;()
        1 import pandas as pd
        2 userHeader = ['user_id', 'gender', 'age']
  ----&gt; 3 users = pd.read_table('C:/prueba.txt', engine='python', sep=';', lineterminator=';', header=None, names=userHeader)
        4 
        5 # print 5 first users
  
  C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in parser_f(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, na_fvalues, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, parse_dates, keep_date_col, dayfirst, date_parser, memory_map, float_precision, nrows, iterator, chunksize, verbose, encoding, squeeze, mangle_dupe_cols, tupleize_cols, infer_datetime_format, skip_blank_lines)
      472                     skip_blank_lines=skip_blank_lines)
      473 
  --&gt; 474         return _read(filepath_or_buffer, kwds)
      475 
      476     parser_f.__name__ = name
  
  C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in _read(filepath_or_buffer, kwds)
      248 
      249     # Create the parser.
  --&gt; 250     parser = TextFileReader(filepath_or_buffer, **kwds)
      251 
      252     if (nrows is not None) and (chunksize is not None):
  
  C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in __init__(self, f, engine, **kwds)
      564             self.options['has_index_names'] = kwds['has_index_names']
      565 
  --&gt; 566         self._make_engine(self.engine)
      567 
      568     def _get_options_with_defaults(self, engine):
  
  C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in _make_engine(self, engine)
      709             elif engine == 'python-fwf':
      710                 klass = FixedWidthFieldParser
  --&gt; 711             self._engine = klass(self.f, **self.options)
      712 
      713     def _failover_to_python(self):
  
  C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in __init__(self, f, **kwds)
     1420         # Set self.data to something that can read lines.
     1421         if hasattr(f, 'readline'):
  -&gt; 1422             self._make_reader(f)
     1423         else:
     1424             self.data = f
  
  C:\Users\molmos\Anaconda\lib\site-packages\pandas\io\parsers.pyc in _make_reader(self, f)
     1495         if sep is None or len(sep) == 1:
     1496             if self.lineterminator:
  -&gt; 1497                 raise ValueError('Custom line terminators not supported in '
     1498                                  'python parser (yet)')
     1499 
  
  ValueError: Custom line terminators not supported in python parser (yet)
  </code></pre>
  
  <p>Do you have any idea of how to read and manipulate all this information stored in text files?</p>
  
  <p>I appreciate your help.</p>