pandas的文件读取和保存
一、Excel 文件的读取(read_excel)
pd.read_excel(io, sheetname=0, header=0, skiprows=None, skip_footer=0, index_col=None, names=None, parse_cols=None, parse_dates=False, date_parser=None, na_values=None, thousands=None, convert_float=True, has_index_names=None, converters=None, dtype=None, true_values=None, false_values=None, engine=None, squeeze=False, **kwds)
参数说明:
-
io: 字符串,文件的路径对象
-
sheetname:None、string、int、字符串列表或者是整数列表,default 为 0,字符串用于工作表名称,整数用于零索引工作表位置,字符串列表或整数列表用于请求多个工作表,为 None 时获取所有工作表。
sheetname | 值的描述 |
---|---|
0 | 获取sheet1表格 |
1 | 获取sheet2表格 |
‘Sheet3’ | 获取sheet3表格 |
[0,1,‘Sheet5’] | 获取sheet1,sheet2和sheet5表格 |
-
header: 表示的是哪一行作为列索引,默认是 0 (第一行), 当 header 不为第一行的时候,会将默认为列索引之前的行全部删除不读,数据为列名行以下的数据;若数据不含列名,则设定 header = None。
-
names:当文件中没有给出表头的时候,需要将 header 设置为 None 值, 并且传入与列相同数量的 list
data = pd.read_excel(r'C:\w3cschool\learn\text\hello_w3cschool.xlsx',header=None,names=np.arange(19)) print(data.head())
-
index_col:指定列为索引列,默认 None 列(0 索引)用作 DataFrame 的行标签。\
-
skiprows : 跳过指定行(包括)之前的行开始读取
-
传入的值从 1 开始的任意 int 类型,超出行的长度不报错,显示为空,如下:
Empty DataFrame
Columns: []
Index: [] -
只剩最后一条数据时,显示如下:
Empty DataFrame
Columns: [4, peter, 18, man]
Index: []
nrows -
值为int类型,默认None,只取前n行数据,按索引传参
-
传入值为0时,只取第一行,显示如下:
Empty DataFrame
Columns: [1, jack, 22, man]
Index: [] -
传入其余值时,只显示该值(包括)之前的行,超出行的长度后不报错,有多少行显示多少行
-
二、读取 csv 文件( read_csv )
注释:.csv 属于文本文件,逗号分隔文件,编码一般为 gbk;
参数说明:
- sep: 元素之间分隔符,csv文件默认分隔符为逗号;
- engine: {‘c’, ‘python’},底层编译的方式,默认是c语言,如果遇到问题,可以将 engine 改为 Python;
- encoding: 一般是gbk
- delimiter: str, default None, 定界符,备选分隔符(如果指定该参数,则 sep 参数失效)
pd.read_table( r’path’,
sep=’,’,
encoding=‘gbk’,
engine=‘python’).head()
三、文件的保存
(1)保存到 excel 文件: to_excel
参数说明:
- excel_writer: 字符串或 Excelwrite 对象,文件路径或现有的 ExcelWriter
- sheet_name: 字符串,默认’Sheet1’
- na_rep: 字符串,默认’ ',缺失数据表示
df.to_excel(‘filename.xlsx’)
(2)保存到 csv 文件: to_csv
参数说明:
- path_or_buf: 默认值为None,字符串或文件句柄,默认无文件,路径或对象,如果没有提供,结果将返回为字符串.
- sep: 输出文件的字段的分隔符,默认为 ’,’
- na_rep: 缺失数据表示,默认为 ’ ’
,默认无文件,路径或对象,如果没有提供,结果将返回为字符串.
- sep: 输出文件的字段的分隔符,默认为 ’,’
- na_rep: 缺失数据表示,默认为 ’ ’