csv類(lèi)型讀取
命令:pd.read_csv()
常用參數(shù):
path
文件路徑,可以是網(wǎng)絡(luò)數(shù)據(jù)encoding
指定編碼。
pd.read_csv('example.csv', encoding='gb2312')
sep
指定行中各字段的分隔符,使用read_csv()時(shí),默認(rèn)就是逗號(hào)。header
指定哪一行作為列索引,默認(rèn)是0,即第一行。
當(dāng)你指定None時(shí),pandas會(huì)默認(rèn)給出數(shù)字索引。
需要注意的是,如果指定了非第一行,那么你所指定的這一行之前的數(shù)據(jù)將被忽略
pd.read_csv('example.csv', header=None, encoding='gb2312')-
index_col
指定哪一列作為行索引,pandas默認(rèn)的行索引是從0開(kāi)始一直向下遞增,但是可以指定某一列作為行的索引,這里的指定可以是數(shù)字形式,也可以具體給出列的名稱(chēng)。pd.read_csv('example.csv', index_col=0) # 指定第0列 pd.read_csv('example.csv', index_col='company') # 指定'company'列作為索引 names
自己添加列索引,是一個(gè)列表形式。
pd.read_csv('example.csv', names=['公司','職位', '薪資', '地點(diǎn)'])
如果原始數(shù)據(jù)已經(jīng)帶有索引,而你想要重新自定義一個(gè)索引,可以添加一個(gè)header=0參數(shù), 意思就是使用names這個(gè)新的索引,代替原來(lái)的索引。parse_dates
將某一列轉(zhuǎn)換成日期格式skiprows
指定忽略的行數(shù)或者需要跳過(guò)的行號(hào)。
如果是一個(gè)數(shù)字,則第0行開(kāi)始,忽略前面的那些行,如果是一個(gè)列表,則會(huì)忽略具體的某些行。na_values
如果na_values后面跟一個(gè)列表,列表中出現(xiàn)的數(shù)據(jù)將會(huì)變成NaN。
如果na_values后面跟一個(gè)字典,字典的鍵是列名,值是你想變成Nan的數(shù)據(jù)。comment
將注釋信息從行尾拆分出去的字符。(一個(gè)或多個(gè))nrows
讀取的行數(shù)。(從文件開(kāi)始處算起)thousands
指定千位分隔符,如','。chunksize
文件塊的大小,在逐塊讀取文件時(shí)使用
pd.read_csv('example.csv', chunksize=10)iterator
返回一個(gè)TextParser以便逐塊讀取文件。
csv類(lèi)型寫(xiě)入
命令:df.to_csv()
參數(shù):
index
默認(rèn)情況下,會(huì)將index索引一起寫(xiě)入,但是可以指定參數(shù),index=False來(lái)取消寫(xiě)入索引。header
指定為False將不會(huì)寫(xiě)入columns索引columns
可以用columns=[]來(lái)指定寫(xiě)入的列。
excel類(lèi)型讀取
命令:pd.read_excel()
參數(shù):
sheet_name
指定excel的工作表converters
將單元格進(jìn)行轉(zhuǎn)換,可以使用函數(shù)。
excel類(lèi)型寫(xiě)入
命令:pd.to_excel()
參數(shù):
sheet_name
指定excel的工作表index
為False時(shí),則不寫(xiě)入index索引startrow
指定從excel的第幾行開(kāi)始,這里指的是excel工作表第幾行,而不是我們的df數(shù)據(jù)。比如,startrow=1,那么打開(kāi)excel你會(huì)發(fā)現(xiàn),開(kāi)始的行是2。startcol
同上,這里是列,比如startcol=1,那么excel將會(huì)從B列開(kāi)始寫(xiě)。將兩個(gè)DataFrame寫(xiě)入同一個(gè)excel文件的兩個(gè)不同的sheet,方法如下
with pd.ExcelWriter('Excelname.xlsx') as writer:
df1.to_excel(writer, sheet_name='sheet1')
df2.to_excel(writer, sheet_name='sheet2')