參考:read_excel;to_excel;read_csv;to_csv
讀取excel/csv數(shù)據(jù) - read_excel
import pandas as pd
pd
.read_excel
(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds)
說(shuō)明:
- io : 文件路徑及名稱(chēng)。str, ExcelFile file://localhost/path/to/table.xlsx.
- sheet_name : 指定excel中的哪個(gè)sheet岳枷。str, int, list, or None, default 0
默認(rèn)為0,將第一個(gè)sheet返回為一個(gè)dataFrame,
如果設(shè)定為1: 將第二個(gè)sheet返回為一個(gè)dataFrame,
如果設(shè)定為"Sheet1": 將名字為“Sheet1”的sheet返回為一個(gè)dataFrame,
如果設(shè)定為[0, 1, "Sheet5"]: 返回一個(gè)字典燎潮,字典的value分別為這三個(gè)sheet的DataFrame,
如果設(shè)定為None: 返回所有sheet的dataframe組成的字典,- header :指定作為列名的行,默認(rèn)0碉克,即取第一行格郁,數(shù)據(jù)為列名行以下的數(shù)據(jù)屉栓;若數(shù)據(jù)不含列名羊赵,則設(shè)定 header = None趟佃。 int, list of int, default 0;
- names:指定列的名字扇谣,傳入一個(gè)list數(shù)據(jù),若數(shù)據(jù)不含列名闲昭,則應(yīng)設(shè)定 header = None;
- index_col :指定某一列數(shù)據(jù)作為索引列罐寨,用于顯示行名;
- skiprows:省略指定行數(shù)的數(shù)據(jù).
- dtype : Type name or dict of column.指定讀取時(shí)轉(zhuǎn)換來(lái)的變量類(lèi)型,本人在讀取染色體外顯子exon時(shí)指定為str序矩,否則讀出來(lái)是小數(shù)鸯绿,當(dāng)然不存在第'3.0','4.0'外顯子啦,str簸淀,int瓶蝴, type, default None
代碼實(shí)例:
>>> pd1 = pd.read_excel('test.xlsx',sheet_name = 'Sheet2',index_col=0,skiprows= 2,header = None)
>>> pd1
1 2 3 4 5
0
T3 nameT3 男 47 鄭州中心醫(yī)院(胸外) 血液
T4 nameT4 男 48 鄭州中心醫(yī)院(胸外) 石蠟切片
T5 nameT5 女 49 蘇博醫(yī)學(xué) 血液
T6 nameT6 男 50 蘇博醫(yī)學(xué) 血液
>>> pd2 = pd.read_excel('test.xlsx',skipfooter=3)
>>> pd2
樣本編號(hào) 姓名 性別 年齡 送檢醫(yī)院 樣本類(lèi)型
0 F1 nameF1 女 56 NaN 血液
1 F2 nameF2 女 70 NaN 血液
2 F3 nameF3 男 71 NaN 血液
3 F4 nameF4 男 53 NaN 蠟塊
4 F5 nameF5 女 55 邯鄲市第一醫(yī)院 石蠟切片
5 F6 nameF6 男 67 蘇博醫(yī)學(xué) 血液
pd
.read_csv
(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)
存儲(chǔ)excel/csv數(shù)據(jù) - to_excel
import pandas as pd
pd
.to_excel
(self, excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None)
說(shuō)明:
- excel_writer : 輸出路徑或者ExcelWriter對(duì)象。str or ExcelWriter object
如果excel_writer為輸出路徑則只會(huì)將dataframe寫(xiě)入第一個(gè)sheet租幕,如果要在一個(gè)excel中寫(xiě)入多個(gè)sheet舷手,則需要將輸出文件轉(zhuǎn)化為ExcelWriter對(duì)象。
writer = pd.ExcelWriter('out.xlsx')
df1.to_excel(writer, sheet_name='sheet1')
df2.to_excel(writer, sheet_name='sheet2')
writer.save()
- sheet_name : sheet表名命名令蛉,str, default ‘Sheet1’聚霜,Name of sheet which will contain DataFrame;
- na_rep: 缺失值填充狡恬,str, default ''珠叔,如果na_rep設(shè)置為bool值,則讀取excel時(shí)改為0和1弟劲,True對(duì)應(yīng)1,False對(duì)應(yīng)0祷安;也可以寫(xiě)入字符串或數(shù)字;
- float_format : str, optional, 例如 float_format="%.2f" will format 0.1234 to 0.12;
- columns : 可選部分列輸出,sequence or list of str, optional;
- header :指定作為列名的行兔乞,默認(rèn)True汇鞭,即取第一行,如果是list則重命名列明庸追。bool or list of str, default True;
- index : 是否顯示行索引(名字)霍骄,bool, default True,Write row names (index).
pd
.to_csv
(self, path_or_buf=None, sep=', ', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression='infer', quoting=None, quotechar='"', line_terminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.')
代碼實(shí)例:
>>> writer = pd.ExcelWriter('out.xlsx')
>>> pd1.to_excel(writer, sheet_name='pd1',index = False)
>>> pd2.to_excel(writer, sheet_name='pd2', na_rep = '/', columns=['樣本編號(hào)','姓名','送檢醫(yī)院','樣本類(lèi)型'])
>>> writer.save()