python获取mysql数据为excel中的sheet_python 从excel、csv、mysql、txt获取数据源

使用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 documentation​pandas.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(',

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值