最全Python数据分析:pandas读取和写入数据_pandas写入,2024年最新海尔面试题目

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

import pandas as pd
df = pd.read\_csv('01.csv')
df

img

当使用read_table()时,运行代码后出现一个Warning,使用的是最新的版本python3.7。根据提示,修改如截图:
FutureWarning: read_table is deprecated, use read_csv instead, passing sep='\t'

df = pd.read_table('doupo.txt')
df

img

使用to_csv()方法,可以将数据导出为逗号分隔的数据文件。详述省略。

02 读取写入Excel文件

python处理excel文件用到的模块包含openpyxl、xlsxwriter、xlutils、xlrd、xlwt。想要了解更多关于这几个处理excel文件的python包的详情,可以访问python-excel官网。因为我使用的是Anaconda,Anaconda已经默认安装了xlrd和xlwt等模块,故无需再使用pip去安装啦。

而Python的数据分析库pandas提供了read_excel函数来读取.xls和.xlsx两种excel文件。其中.xls是office excel 2007之前的版本默认保存的文件扩展名。而.xlsx是2007版本之后的。 有时一个excel文件会包含多个工作表,比如下面这个表格文有book和movie两个工作表。

img

使用xlrd读取excel文件:
# xlrd为读取excel的库
import xlrd  
workbook = xlrd.open_workbook('douban.xlsx')
sheetnames = workbook.sheet_names()

sheet1 = workbook.sheet_by_name(sheetnames[1])  
#通过sheet名称获取到第2张工作表book
#或 sheet1 = workbook.sheets()[1] 
#或 sheet1 = workbook.sheet\_by\_index(1)

print('sheet名称列表:' + sheetnames)  
print('第1张工作表名称:' + sheet1.name)
print('列数:' + str(sheet1.ncols))
print('行数:' + str(sheet1.nrows))
print('第2行所有数据:' + str(sheet1.row_values(2))) # 包括列名这一行,从0算起,
print('第2列所有数据:' + str(sheet1.col_values(1)))

img

通过pandas.read_excel方法读取excel文件,read_excel( )默认读取第一个工作表的,如果我想要读取movie这个工作表的话,就需要传参啦。

df = pd.read_excel('douban.xlsx', sheet_name = 'movie')
df

这时存储在表中的数据通过pandas.read_excel方法读取到DataFrame中啦,结果显示如下:

img

使用to_excel()方法,可以将数据存储到excel文件里。写入方法不详说了。

03 数据库的读取与写入

Python处理数据库时同样有第三方库,比如PyMySQL,SQLAlchemy等等,利用这些ORM库(ORM,全称object-relational mapping,即对象关系映射)可以实现对数据库的增删改查。而pandas实现数据库读取有3个方法,分别为read_sql,read_sql_table,read_sql_query。

read_sql_table只能读取数据库的某一个表格,不能实现查询的操作,而read_sql_query只能实现查询操作,不能直接读取数据库中的某个表,read_sql是两者的结合。语法:

pandas.read_sql_table(table_name,con,schema=None,index_col=None,coerce_float=True,columns=None)
pandas.read_sql_query(sql,con,index_col=None,coerce_float=True)
pandas.read_sql(sql,con,index_col=None,coerce_float=True,columns=None)

参数说明:

  • sql、table_name:string类型,分别表示SQL语句和数据库表名
  • con:表示数据库连接信息
  • index_col:int、sequence或者False,表示设定的列作为行名
  • coerce_float:boolean,将数据库中的decimal类型的数据转换为pandas中的float64类型的数据,默认True
  • columns:list类型,表示读取数据的列名,默认None

这里使用的是SQLAlchemy库来建立数据库连接,需要数据库驱动使用的Python内置的SQLlite。对SQLite的简介如下:

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。

from sqlalchemy import create_engine
# create\_engine()用来初始化数据库连接
engine =  create_engine('sqlite://', echo = False)
df = pd.DataFrame({'name': ['tom', 'David', 'mary'], 'age': [18,19,17], 'score': [89,90,59]})
df

img

将df写入数据库中取名为“student”的表,需要查看下是否有成功写入数据库,执行sql请求,获取所有数据。实现代码如下:

df.to_sql('student', con=engine)
engine.execute("SELECT \* FROM student").fetchall()

img

使用pandas的读取数据库方法来读取:

# read\_sql\_query 
df = pd.read_sql_query('SELECT \* FROM student', con = engine)

# read\_sql\_table
df = pd.read_sql_table('student', con = engine)

# read\_sql
df = pd.read_sql('SELECT \* FROM student', con = engine)
df = pd.read_sql('student', con = engine)
df

img

以上就是使用数据分析库pandas来读取写入不同数据文件的内容啦。

读者福利:知道你对Python感兴趣,便准备了这套python学习资料

对于0基础小白入门:

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值