pandas系列之txt文件和sql文件的基本操作

3,071 阅读2分钟

1.导入txt文件

本文所使用到的test.txt的内容如下:

image-20210713232357891.png

使用read_table()方法导入txt文件

import pandas as pd

df = pd.read_table(r'C:\Users\admin\Desktop\test.txt')
print(df)

result:

  我是李华。 今天本来留下班里十几个人做大扫除结果他们都跑了,只留下了我一个人干完了所有活。 回家的路上真不巧又下了雨,
0  雨太大把我自行车前轮胎上的辐条都冲走了,我非常生气。 为了报复今天发生的一切,我骑着钢圈回到...         
1                                     并把教室里的椅子都扔了出去。 

该方法是将利用分隔符分开的文件导入DataFrame的通用函数。不仅可以导入.txt文件,也可以导入.csv文件。

df = pd.read_table(r'C:\Users\admin\Desktop\中文\数据分析测试表.csv')
print(df)

result:

   区域,省份,城市
0  东北,辽宁,大连
1  西北,陕西,西安
2  华南,广东,深圳
3  华北,北京,北京
4  华中,湖北,武汉

read_table()方法的其他参数用法和read_csv()方法基本一致,再此不再赘述。

2.导入sql文件

2.1 安装依赖库pymysql

python连接MySQL要用到pymysql,需要手动进行安装。 image-20210713233131704.png

import pandas as pd
import pymysql

con = pymysql.connect(host='127.0.0.1',  # 数据库地址,本机为127.0.0.1或localhost
                      user='root',  # 用户名
                      password='123456',  # 密码
                      db='test',  # 数据库名
                      charset='utf-8')  # 数据库编码,一般为utf-8
sql = "select * from employees"
df = pd.read_sql(sql, con)
print(df)

此时报错

image-20210713234105887.png 修改charset='utf8'后错误解决:

con = pymysql.connect(host='127.0.0.1',  # 数据库地址,本机为127.0.0.1或localhost
                      user='root',  # 用户名
                      password='123456',  # 密码
                      db='test',  # 数据库名
                      charset='utf8')  # 数据库编码,一般为utf-8
sql = "select * from employees"
df = pd.read_sql(sql, con)
print(df)

result:

   eID NAME sex       birth jobs      firJob    hiredate
0    1   张三     1990-06-21   教师  2005-06-20  2009-08-26
1    2  鲁怀德     2004-06-29   工人  2018-08-01  2021-01-06
2    3  赵燕妮     1994-07-06  售货员  2004-09-21  2019-05-23

这里提供数据库查询结果作为比对:

image-20210713234431680.png 注:python使用pymysql与MySQL交互时,编码方式只能写成utf8,不要习惯性地写成utf-8

3.小结

导入数据主要用到pandas里的read_x()方法,x表示待导入文件的格式

除了之前介绍的导入.xlsx文件的read_excel(),导入.csv文件的read_csv(),导入txt的read_table(),导入sql文件的read_sql()之外,还有一些其他方法在此列出。这些使用到的不多,在此不做深入说明,。后面如有使用到再进行更新。

pd.read_xml()
pd.read_html()
pd.read_json()
pd.read_clipboard()
pd.read_feather()
pd.read_fwf()
pd.read_gbq()
pd.read_orc()