这一篇学习笔记就是在学习如何通过python导入外部数据,外部数据来源主要是以下四种:Excel、TXT、CSV、SQL类型的数据。
1.Excel数据导入方法Excel数据导入方法-read_excel( )
方式1:pd.read_excel(r"E:\python_workspace\Jupyter_workspace\test.xls")
方式2:pd.read_excel("E:/python_workspace/Jupyter_workspace/test.xls")
解读:直接导入路径即可。r字符是为了避免路径中的\被转义。直接导入路径下的excel表-路径
指定某个sheet表-sheet_name
方式1:pd.read_excel("E:/python_workspace/Jupyter_workspace/test.xls",sheet_name="Sheet1")
方式2:df = pd.read_excel("E:/python_workspace/Jupyter_workspace/test.xls",sheet_name=0)
解读:可以直接指定sheet表的名字或者指定sheet表的顺序,从0开始。指定行索引-index_col
df = pd.read_excel("E:/python_workspace/Jupyter_workspace/test.xls",sheet_name=0,index_col=0)
解读:默认情况下即不加index_col,则是会自动加数字0、1、2的索引。用index_col指定的列作为行的索引。【index_col的值从0开始】
看看有无index_col以及不同index_col的值的区别:没有index_col值
index_col=0
index_col=1指定列索引-header
df = pd.read_excel("E:/python_workspace/Jupyter_workspace/test.xls",sheet_name=0,header=None)
df = pd.read_excel("E:/python_workspace/Jupyter_workspace/test.xls",sheet_name=0,header=0)
df = pd.read_excel("E:/python_workspace/Jupyter_workspace/test.xls",sheet_name=0,header=1)
解读:默认把excel中的第一行作为列索引,当设置为None时,则会自动添加0、1、2的索引;设置为0时,就是默认情况;设置为1时,即把excel中的第2行作为列索引。header=None
header=0
header=1导入指定列-uescols
df = pd.read_excel("E:/python_workspace/Jupyter_workspace/test.xls",usecols=0)
解读:可以传入一个数字或列表,从0开始计数,表示传入的是excel的第一列数据。usecols=0
usecols=1
2.Csv数据导入方法
看着自己Jupyter的白色背景简直太伤眼睛了,于是找教程修改了一下背景,变成黑色背景了,同时调了一下字体等。直接导入路径下的csv文件-路径
同excel的读入方式,直接加载路径即可,用的是read_csv()或者read_table()。指明分割符号-sep
默认是以逗号为分隔符号,常见其余分隔符还有空格和制表符\t。指明读取的行数-nrows
通常是用来了解一下数据。指明读取的编码格式-encoding
解读:在excel保存时另存为有两种选项,一种是CSV UTF-8(逗号分隔)(*.csv),此种保存方式得到的是UTF-8的编码方式,读入时可省略编码的设置,因为默认编码方式就是UTF-8;另一种是CSV(逗号分隔)(*.csv),这种保存方式得到的是gbk编码,读入时则需要设置编码方式为gbk,否则会出错。路径中含中文的设置-engine
解读:调用read_csv()方法时,默认是使用C语言作为解析语言,只需要把默认值改成Python即可;同时,如果编码方式是UTF-8,相应的也应该改成utf-8-sig,编码方式是gbk,则就是gbk。
3.txt数据方法
同上。用read_table()。
4.Sql数据导入方法
我自己先在mysql中新建了一个数据库Test,在这个数据库下新建了一个表Info用来测试。数据内容和之前一样。这里还出现了一点小问题,可参考踏踏踏雨:python连接MysqlWorkBench时出现错误代码1044的解决方式zhuanlan.zhihu.com
在mysql中我的数据库内容是这样子的:
下面是运行成功的代码: