一個專欄中,我有一個具有以下格式熊貓閱讀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