f = pd.read_table(data, sep = "+\s", header = None) error : nothing to repeat 解决办法

报错如下:

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)
原因是正则表达式匹配的严格要求, "+"表示匹配多个重复项,删去问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值