正如问题讨论中提到的(here),这不被认为是 pandas 问题,而是一个兼容性问题python's csv module
与 python2.x。
解决该问题的解决方法是将分隔符括起来str(..)
。例如,以下是如何重现问题并解决它的方法:
from __future__ import unicode_literals
import pandas as pd
df = pd.DataFrame([['a', 'A'], ['b', 'B']])
df.to_csv(sep=',')
这将引发以下错误:
TypeError ....
----> 1 df.to_csv(sep=',')
TypeError: "delimiter" must be an 1-character string
然而,以下将显示预期结果
from __future__ import unicode_literals
import pandas as pd
df = pd.DataFrame([['a', 'A'], ['b', 'B']])
df.to_csv(sep=str(','))
Output:
',0,1\n0,a,A\n1,b,B\n'
对于您的情况,您应该按如下方式编辑代码:
df.to_csv('/Users/Lab/Desktop/filteredwithheading.txt', sep=str('\s+'), header=True)