讀取數(shù)據(jù)
- read_csv 默認(rèn)分隔符為逗號
- read_table 默認(rèn)分隔符為制表符(\t)
- read_fwf 沒有分隔符
- read_clipboard 讀取剪切板中的數(shù)據(jù)
read_table 讀取csv文件時(shí),指定分隔符 sep=','
沒有列名時(shí)
- 方法一:
默認(rèn)分配列名 參數(shù) header=None - 方法二:
變量names=['a', 'b', 'c', 'd', 'message']
自定義列名 參數(shù) names=names
將message列名作為索引pd.read_csv('xx.csv', names=names, index_col='message')
層次化索引pd.read_csv('xx.csv', names=names, index_col=['b', 'message'])
其他分隔符,可以用正則表達(dá)式作為read_table的分隔符
pd.read_table('xxx.txt', sep='\s+') 如果是數(shù)量不等的空白符分割
參數(shù)skiprows跳過文件的第一行糖埋、第三行和第四行。 skiprows=[0, 2, 3]
read_csv和read_table參數(shù)
參數(shù) | 描述 |
---|---|
path | 文件位置胞谭、url、文件型對象的字符串 |
sep或delimiter | 對行中各字段進(jìn)行拆分的字符序列或正則表達(dá)式 |
header | 用作列名的行號。默認(rèn)為0(第一行)。如果沒有header行就應(yīng)該設(shè)置為None |
index_col | 用作行索引的列編號或列名盐股。可以是單個(gè)名稱/數(shù)字或由多個(gè)名稱/數(shù)字組成的列表(層次化索引) |
names | 用于結(jié)果的列名列表耻卡,當(dāng)header=None時(shí) |
skiprows | 需要忽略的行數(shù)疯汁,或需要跳過的行號列表 |
na_values | 一組用于替換NA的值,可以是列表或字典 |
nrows | 需要讀取的行數(shù)(從文件開始處算起) |
skip_footer | 需要忽略的行數(shù)(從文件末尾處算起) |
squeeze | 如果數(shù)據(jù)經(jīng)解析后僅含一列劲赠,則返回Series |
thousands | 千位分隔符 |
chunksize | 如設(shè)置=1000則讀取1000行,返回TextParser秸谢,可以進(jìn)行迭代 |
TextParser還有一個(gè)get_chunk方法凛澎,可以讀取任意大小的塊
將數(shù)據(jù)寫到文本格式
data = pd.read_csv('xxx.csv')
data.to_csv('xxx2.csv')
還可以用其他分割符 data.to_csv(sys.stdout, sep='|')
缺失值在輸出結(jié)果中會(huì)被表示為空字符串,用其他值來標(biāo)記 data.to_csv(sys.stdout, na_rep='NULL')
不寫入行和列的標(biāo)簽data.to_csv(sys.stdout, index=False, header=False)
以指定順序估蹄,寫出一部分的列 data.to_csv(sts.stdout, index=False, cols=['a', 'b', 'c'])
從csv中讀取Series塑煎,用from_csv比read_csv更方便,因?yàn)闊oheader行臭蚁,且第一列作索引
從Excel中讀取
獲取Excel對象 xls_file = pd.ExcelFile('xxx.xls')
讀取某個(gè)表 table = xls_file.parse('Sheet1')
從數(shù)據(jù)庫中存取
import pandas.io.sql as sql
sql.read_frame('select * from tablename', conn)