使用python进行数据分析工作的第一步是获取数据源,数据源来可能来自于excel、txt、csv文件、mysql数据库。
分别看看这些数据源怎么导入到python中。
1. Excel 数据源导入python
首先导入pandas 模块
import pandas as pd
excel 导入格式为:
pd.read_excel( 路径,sheet_name=’’ ,header=0,name=’’, dtype= )
参数说明如下:
sheet_name为字符串、数字或者列表形式。0 表示 读取第一个sheet,得到一个DataFrame
1 表示 读取第二个sheet,得到一个DataFrame
‘sheet1’ 表示 读取名字为sheet1的sheet ,得到一个DataFrame
[0,1,’sheet1’] 表示读取 第一个、第二个、‘sheet1’ 名字的 sheet,得到一个字典,字典里面有3个DataFrame。
sheet_name参数可以省略,默认读取第一个sheet。
header 参数表示数据中是否包含表头0表示数据源中包含表头
None 表示数据源中不包含表头
names 参数表示表的列名称,格式为列表(list)得到的DataFrame的列名称是names的值.
如果header的值是None,但是names没有值,得到的DataFrame的列名称是0,1,2这样的值.
dtype 列数据格式的设置,采用字典形式进行配置比如:{‘a’: np.float64, ‘b’: np.int32}
read_excel 还有其他的参数,但使用比较少,有兴趣可以看点下面的链接看。pandas.read_excel - pandas 1.0.3 documentationpandas.pydata.org
示例代码:
df=pd.read_excel('C:\\Users\\Administrator\\Desktop\\好友关系.xlsx',sheet_name='Sheet1')
df2=pd.read_excel('C:\\Users\\Administrator\\Desktop\\好友关系.xlsx',sheet_name=[0,1])
df3=pd.read_excel('C:\\Users\\Administrator\\Desktop\\好友关系.xlsx',sheet_name=0)
df4=pd.read_excel('C:\\Users\\Administrator\\Desktop\\好友关系.xlsx',sheet_name='Sheet1',header=0,names=[1,2],dtype={1:str,2:np.int})
得到的结果,在变量浏览框里面看到的是这样的:
可以看到,df2 是一个字典(dict),字典里面有两个数据框(DataFrame). df4的列名称变成了1,2.
2. csv数据源导入python
excel 导入格式为:
df=pd.read_csv(路径,sep=',',header=0 ,names=,dtype=,encoding=)
一般情况下,df=pd.read_csv(路径) 就可以了。
参数解读:
sep参数表示数据分隔的字符,默认是’,’,一般csv分隔符也是逗号。
header 同pd.read_excel
names 同pd.read_excel
dtype 同pd.read_excel
encoding 表示csv的编码方式,有时候读取报错是因为编码问题,需要进行特别的配置。
read_csv 还有其他的参数,但使用比较少,有兴趣可以看点下面的链接看。
3. mysql数据源导入python
需要 pymysql 模块,可以通过cmd 使用pip install pymysql 进行模块安装。
以下写了一个连接mysql 的通用方法,使用的时候调用方法进行啦。
def get_data(host='',port='',user='',password='',db='',cahrset='',sql ,file_path,file_name,column=['姓名','身份证号码','电话号码','所属企业']):
#建立连接
conn=pymysql.Connect(host=host##mysql数据库的地址
, port=port##端口
, user=user#用户名
, passwd=password#密码
, db=db ##访问哪个数据库
, charset='utf8'
)
#建立游标
cursor = conn.cursor()
##执行sql
cursor.execute(sql)
#获取数据
sql_repayinfo = cursor.fetchall()
##数据写入dataframe
df_report=pd.DataFrame(list(sql_repayinfo),columns=column)
conn.close()
###储存数据到本地电脑
file_paths =file_path+' _%s.xlsx' %(file_name) ##储存路径
writer_obj_bc = pd.ExcelWriter(file_paths) ##建立数据写入目标
df_report.to_excel(writer_obj_bc, 'data') ##写入数据,sheetname的名字为data
writer_obj_bc.save()#保存数据
return df_report ##返回数据
4. txt数据源导入python
有两种方法可以选择。
pd.read_table()方法:此方法适合格式统一的txt文件,比如用逗号分隔的数据文件,直接生成DataFrame.
open()方法:此方式格式统一、格式不统一的txt文件均可以,可以实现按行读取数据,并进行数据处理,比如去掉特殊字符串、进行文本处理等。
pd.read_table()方法:
####代码格式
df=pd.read_table('路径',sep='分隔符')
pd.read_table() 有其他的参数,官方参考文档地址。
open()方法:
以下代码实现读取txt文件,按行读取,并存入dt变量中,
with open('路径','r',encoding='utf-8') as f:
dt=[]
for line in f:
dt+=[line.strip().split(',