报错如下:
f = pd.read_table(data, sep = "+\s", header = None) Traceback(most recent call last) : File "<ipython-input-27-e09df1fe7a5f>", line 1, in <module> f = pd.read_table(data, sep = "+\s", header = None, engine = 'python') File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 678, in parser_f return _read(filepath_or_buffer, kwds) File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 440, in _read parser = TextFileReader(filepath_or_buffer, **kwds) File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 787, in __init__ self._make_engine(self.engine) File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 1024, in _make_engine self._engine = klass(self.f, **self.options) File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 2089, in __init__ self.columns, self.num_original_columns = self._infer_columns() File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 2455, in _infer_columns line = self._buffered_line() File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 2530, in _buffered_line return self._next_line() File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 2635, in _next_line orig_line = self._next_iter_line(row_num = self.pos + 1) File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 2695, in _next_iter_line return next(self.data) File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 2229, in _read pat = re.compile(sep) File "/root/anaconda2/lib/python2.7/re.py", line 194, in compile return _compile(pattern, flags) File "/root/anaconda2/lib/python2.7/re.py", line 251, in _compile raise error, v # invalid expression error : nothing to repeat百度了很多都是关于正则表达式的问题。
还有的解决办法如下:
是在最后加上 engine= 'python'
f = pd.read_table(data, sep="+\s", header=None, engine='python')问题仍然没有解决。
最后自己解决如下:
f = pd.read_table(data, sep="\s", header=None)原因是正则表达式匹配的严格要求, "+"表示匹配多个重复项,删去问题解决。