pandas的文件读取和保存

2021-01-06 15:06:18 浏览数 (3443)

一、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;

参数说明:

  1. sep: 元素之间分隔符,csv文件默认分隔符为逗号;
  2. engine: {‘c’, ‘python’},底层编译的方式,默认是c语言,如果遇到问题,可以将 engine 改为 Python;
  3. encoding: 一般是gbk
  4. delimiter: str, default None, 定界符,备选分隔符(如果指定该参数,则 sep 参数失效)

pd.read_table( r’path’,
sep=’,’,
encoding=‘gbk’,
engine=‘python’).head()

2021010521030718

三、文件的保存

(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: 缺失数据表示,默认为 ’ ’