一个专栏中,我有一个具有以下格式熊猫阅读CSV忽略逗号分隔,每行
a 1 blah
b 2 blah,inc
c 3 foo,inc
我想用read_csv()
读取到一个df
一个txt文件,但逗号给我的错误,我不想跳过error_bad_lines=False
。
如何将它读入df
每行一列?或者我应该使用另一种方法?
一个专栏中,我有一个具有以下格式熊猫阅读CSV忽略逗号分隔,每行
a 1 blah
b 2 blah,inc
c 3 foo,inc
我想用read_csv()
读取到一个df
一个txt文件,但逗号给我的错误,我不想跳过error_bad_lines=False
。
如何将它读入df
每行一列?或者我应该使用另一种方法?
我想你需要更改默认的分隔,
到s\+
为空白SEP:
import pandas as pd
from pandas.compat import StringIO
temp=u"""
a 1 blah
b 2 blah,inc
c 3 foo,inc"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), sep='\s+', header=None, names=['a','b','c'])
print (df)
a b c
0 a 1 blah
1 b 2 blah,inc
2 c 3 foo,inc
对于一列使用一些分离器是不是在数据像|
或¥
:
temp=u"""
a 1 blah
b 2 blah,inc
c 3 foo,inc"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), sep='|', header=None, names=['a'])
print (df)
a
0 a 1 blah
1 b 2 blah,inc
2 c 3 foo,inc
read_fwf
的另一解决方案:
df = pd.read_fwf(StringIO(temp), header=None, colspecs=[(0, 100)])
print (df)
0
0 a 1 blah
1 b 2 blah,inc
2 c 3 foo,inc
我认为pd.read_csv(delim_whitespace=True)
,应该做的伎俩。
尝试'sep ='\ s +''或参数'delim_whitespace = True' – jezrael