读取excel/csv数据 - 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)
说明:
io : 文件路径及名称。str, ExcelFile file://localhost/path/to/table.xlsx.
sheet_name : 指定excel中的哪个sheet。str, int, list, or None, default 0
默认为0,将第一个sheet返回为一个dataFrame,
如果设定为1: 将第二个sheet返回为一个dataFrame,
如果设定为"Sheet1": 将名字为“Sheet1”的sheet返回为一个dataFrame,
如果设定为[0, 1, "Sheet5"]: 返回一个字典,字典的value分别为这三个sheet的DataFrame,
如果设定为None: 返回所有sheet的dataframe组成的字典,
header :指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None。 int, list of int, default 0;
names:指定列的名字,传入一个list数据,若数据不含列名,则应设定 header = None;
index_col :指定某一列数据作为索引列,用于显示行名;
skiprows:省略指定行数的数据.
dtype : Type name or dict of column.指定读取时转换来的变量类型,本人在读取染色体外显子exon时指定为str,否则读出来是小数,当然不存在第'3.0','4.0'外显子啦,str,int, type, default None
要读取的test.xlsx的Sheet1内容
要读取的test.xlsx的Sheet2内容
代码实例:
>>> 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 郑州中心医院(胸外) 血液
T4 nameT4 男 48 郑州中心医院(胸外) 石蜡切片
T5 nameT5 女 49 苏博医学 血液
T6 nameT6 男 50 苏博医学 血液
>>> pd2 = pd.read_excel('test.xlsx',skipfooter=3)
>>> pd2
样本编号 姓名 性别 年龄 送检医院 样本类型
0 F1 nameF1 女 56 NaN 血液
1 F2 nameF2 女 70 NaN 血液
2 F3 nameF3 男 71 NaN 血液
3 F4 nameF4 男 53 NaN 蜡块
4 F5 nameF5 女 55 邯郸市第一医院 石蜡切片
5 F6 nameF6 男 67 苏博医学 血液
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)
存储excel/csv数据 - 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)
说明:
excel_writer : 输出路径或者ExcelWriter对象。str or ExcelWriter object
如果excel_writer为输出路径则只会将dataframe写入第一个sheet,如果要在一个excel中写入多个sheet,则需要将输出文件转化为ExcelWriter对象。
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设置为bool值,则读取excel时改为0和1,True对应1,False对应0;也可以写入字符串或数字;
float_format : str, optional, 例如 float_format="%.2f" will format 0.1234 to 0.12;
columns : 可选部分列输出,sequence or list of str, optional;
header :指定作为列名的行,默认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='.')
代码实例:
>>> writer = pd.ExcelWriter('out.xlsx')
>>> pd1.to_excel(writer, sheet_name='pd1',index = False)
>>> pd2.to_excel(writer, sheet_name='pd2', na_rep = '/', columns=['样本编号','姓名','送检医院','样本类型'])
>>> writer.save()
输出文件:
输出的out.xlsx的pd1的内容
输出的out.xlsx的pd2的内容