zoukankan      html  css  js  c++  java
  • Pandas之文件的读取和写出

    读与写

     


          pandas是基于NumPy的一种数据分析工具,在数据分析的任务中,我们首先需要对数据进行清洗和编辑等工作,pandas库大大简化了我们的工作量。

    •pandas进行数据读取

    1 #绝对路径查询
    2 import os 
    1 print(os.path.abspath("."))
    /Users/yaozhilin
    1 #导入pandas和numpy库
    2 import pandas as pd
    3 import numpy as np
    1 from pandas import Series,DataFrame 

    读取常用的数据方法

    ~pd.read_csv   读取csv文件

    ~pd.read_table   读取txt文件

    ~pd.read_excel   读取xls文件

    其实这三种读取方式都一致,我们以pd.read_excel为例

    pd.read_excel(filepath,encoding,sep,header,names,usecols,index_col,skiprows,nrows……)
    filepath:文件存储路径,可以用r""进行非转义限定,路径最好是纯英文(文件名也是),不然会经常碰到编码不对的问题,最方便是直接将文件存储在pandas默认的路径下,则直接输入文件名即可
    encoding:pandas默认编码是utf-8,如果同样读取默认uft-8的txt或者json格式,则可以忽略这个参数,如果是csv,且数据中有中文时,则要指定encoding=‘gbk’
    sep:指定分割符形式,CSV默认逗号分割,可以忽略这个参数,如果是其它分割方式,则要填写
    header: 指定第一行是否是列名,通常有三种用法,忽略或header=0(表示数据第一行为列名),header=None(表明数据没有列名),常与names搭配使用
    names: 指定列名,通常用一个字符串列表表示,当header=0时,用names可以替换掉第数据中的第一行作为列名,如果header=None,用names可以增加一行作为列名,如果没有header参数时,用names会增加一行作为列名,原数据的第一行仍然保留
    usecols:一个字符串列表,可以指定读取的列名
    index_col: 一个字符串列表,指定哪几列作为索引
    skiprows: 跳过多少行再读取数据,通常是数据不太干净,需要去除掉表头才会用到
    nrows: 仅读取多少行,后面的处理也都仅限于读取的这些行

    以上参数并不都会用到,仅供参考,下面我们简单的读取一个文件:

    1 test=pd.read_excel("/Users/yaozhilin/Downloads/数据.xls",sep="t")
    2 test.head(5)#显示前五行

    columns重命名rename 

    1 test.rename(columns={"联系人姓名":"姓名","联系人头衔":"职位"},inplace=True)
    2 test.head(5) 

    •pandas进行数据写出

    写入常用的数据方法

    ~data.to_csv   写出csv文件

    ~data.to_table   写出txt文件

    ~data.to_excel   写出xls文件

    data.to_excel (path_or_buf=None, sep=’, ’, columns=None, header=True, index=True, mode=‘w’, encoding=None)
    path_or_buf :文件路径
    sep :分隔符,默认用","隔开
    columns :选择需要的列索引
    header :boolean or list of string, default True,是否写进列索引值
    index:是否写进行索引
    mode:‘w’:重写, ‘a’ 追加


    写出一个文件

    1 test.to_excel("/Users/yaozhilin/Downloads/数据写出.xls", encoding='gbk')

    我们尝试的读取一下,看看是否写出成功。

    1 pd.read_excel("/Users/yaozhilin/Downloads/数据写出.xls", encoding='gbk',nrows=5)#只读5行

    我们在读写文件时常常需要注意encoding="gbk"(中文防止乱码)和分隔符sep=" "。

    附:常用的读写参考表

  • 相关阅读:
    前端与算法 leetcode 344. 反转字符串
    JavaScript闭包使用姿势指南
    前端与算法 leetcode 48. 旋转图像
    前端与算法 leetcode 36. 有效的数独
    前端与算法 leetcode 1. 两数之和
    前端与算法 leetcode 283. 移动零
    前端与编译原理 用js去运行js代码 js2run
    前端与算法 leetcode 66. 加一
    前端与算法 leetcode 350. 两个数组的交集 II
    前端与算法 leetcode 26. 删除排序数组中的重复项
  • 原文地址:https://www.cnblogs.com/ye20190812/p/13392021.html
Copyright © 2011-2022 走看看