針對不同格式的文件,pandas有不同的讀取方式,這裏就做一個簡單總結。
1. 對於以.csv結尾的文件
分爲以下幾種情況:
- 通常情況下,文件中有列名,且以逗號分隔,直接讀取
pd.read_csv('data.csv')
#或者
pd.read_csv('data.csv',header = 0)
- 對於沒有列名的,如需添加列名可用下面方式
pd.read_csv('data.csv',sep = ',', names = [ ], index_col = '')
- 對於分隔符不是以逗號分隔的,可以修改sep(如以空格分隔的)
pd.read_csv('data.csv', sep = '\s+')
- 如果想跳過文件中的幾行,可以使用skiprows
pd.read_csv('data.csv', skiprows=[0, 2, 3])
- 如果指定讀的行數,可以使用nrows
pd.read_csv('data.csv', nrows = 2)
- 如果文件過大,需要分快讀,可以使用chunksize
chunker = pd.read_csv('data.csv', chunksize=100)
chunker
2. 對於以.txt結尾的文件
TSV文件和CSV的文件的區別是:前者使用\t作爲分隔符,後者使用,作爲分隔符。
pd.read_table('data.txt',sep = '\s+')
3. 對於以.tsv結尾的文件
使用pandas讀取tsv文件的代碼如下:
train=pd.read_csv('test.tsv', sep='\t')
如果已有表頭,則可使用header參數:
train=pd.read_csv('test.tsv', sep='\t', header=0)
如果已有主鍵列:
train=pd.read_csv('test.tsv', sep='\t', header=0, index_col='id')