numpy、pandas常见的数据读取方式


numpy

读/写文件:

主要有二进制的文件读/写和文件列表形式的数据读/写两种方式

  1. save函数,以二进制的格式保存数据 np.save("../tmp/save_arr",arr)

  2. load函数,从二进制的文件中读取数据。 np.load("../tmp/save_arr.npy")

  3. savez函数将多个数组保存到一个文件中 np.savez('../tmp/savez_arr',arr1,arr2)

  4. savetxt函数,将数组写到某种分隔符隔开的文本文件np.savetxt("../tmp/arr.txt", arr, fmt="%d", delimiter=",")

  5. loadtxt函数,文件加载到一个二维数组中。np.loadtxt("../tmp/arr.txt",delimiter=",")

  6. genfromtxt函数,面向结构化数组和缺失数据。np.genfromtxt("../tmp/arr.txt", delimiter = ",")

注:

  • 存储时可省略扩展名,但读取时不能省略扩展名。
  • numpy.savetxt(frame, x, fmt='%.18e', delimiter=' ', newline='\n', header=' ', footer=' ', comments='# '),第一个参数是文件名“frame”,第二个参数x为数组数据,第四个参数为数据分隔符“delimiter”。
  • loadtxt函数执行的是相反的操作,即把文件加载到一个二维数组中。

pandas

一、读/写不同数据源的数据

  • pandas提供了读取与存储关系型数据库数据的函数与方法。除了pandas库外,还需要使用SQLAlchemy库建立对应的数据库连接。
  • SQLAlchemy配合相应数据库的Python连接工具(例如MySQL数据库需要安装mysqlclient或者pymysql库),使用create_engine函数,建立一个数据库连接
  • creat_engine中填入的是一个连接字符串。
  • 使用PythonSQLAlchemy时,MySQLOracle数据库连接字符串的格式为:数据库产品名+连接工具名://用户名:密码@数据库IP地址:数据库端口号/数据库名称?charset = 数据库数据编码
from sqlalchemy import create_engine

#创建一个MySQL连接器:用户名为root,密码为1234,地址为127.0.0.1,数据库名称为test,编码为UTF-8
engine=create_engine('mysql+pymysql://root:[email protected]:3306/test?charset=utf8')
print(engine)

数据库数据读取:

  1. read_sql_table,只能够读取数据库的某一个表格,不能实现查询的操作。pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_float=True, columns=None)

  2. read_sql_query,只能实现查询操作,不能直接读取数据库中的某个表。pandas.read_sql_query(sql, con, index_col=None, coerce_float=True)

  3. read_sql,上两者的综合,既能够读取数据库中的某一个表,也能够实现查询操作。pandas.read_sql(sql, con, index_col=None, coerce_float=True, columns=None)

numpy、pandas常见的数据读取方式_第1张图片

数据库数据存储:

DataFrame.to_sql(name, con, schema=None, if_exists=’fail’, index=True, index_label=None, dtype=None)

numpy、pandas常见的数据读取方式_第2张图片

 

二、读/写文件

  • 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件

  • csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件。

  • 文件以纯文本形式存储表格数据(数字和文本)

文本文件读取:

  1. read_table读取文本文件,pandas.read_table(filepath_or_buffer, sep=’\t’, header=’infer’, names=None, index_col=None, dtype=None, engine=None, nrows=None)
  2. read_csv函数读取csv文件,pandas.read_csv(filepath_or_buffer, sep=’\t’, header=’infer’, names=None, index_col=None, dtype=None, engine=None, nrows=None)
  • read_tableread_csv函数中的sep参数是指定文本的分隔符的,如果分隔符指定错误,在读取数据的时候,每一行数据将连成一片。
  • header参数是用来指定列名的,如果是None则会添加一个默认的列名。

numpy、pandas常见的数据读取方式_第3张图片

文本文件存储:

DataFrame.to_csv(path_or_buf=None, sep=’,’, na_rep=”, columns=None, header=True, index=True,index_label=None,mode=’w’,encoding=None)

numpy、pandas常见的数据读取方式_第4张图片

 

三、读/写Excel文件

  • Microsoft Office Excel 2007之前的版本(不包括2007)默认保存的文件扩展名为.xls
  • Microsoft Office Excel 2007之后的版本默认保存的文件扩展名为.xlsx

Excel文件读取:

pandas.read_excel(io, sheetname=0, header=0, index_col=None, names=None, dtype=None)

numpy、pandas常见的数据读取方式_第5张图片

Excel文件存储:

DataFrame.to_excel(excel_writer=None, sheetname=None’, na_rep=”, header=True, index=True, index_label=None, mode=’w’, encoding=None)

  • sheetnames参数用来指定存储的Excel sheet的名称,默认为sheet1

你可能感兴趣的:(Python)