暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python进阶之Pandas入门(二) 读取和导出数据

Python学会 2019-12-17
1217


引言



Pandas是数据分析中一个至关重要的库,它是大多数据项目的支柱。如果你想从事数据分析相关的职业,那么你要做的第一件事情就是学习Pandas。


通过这一课,您将会:


1、学会用pandas将数据导入文件中

2、学会用pandas从文件中读取数据


pandas写入文件


对于将数据写入文件,panda提供了直观的命令来保存数据:


df.to_csv('new_purchases.csv')
df.to_json('new_purchases.json')
df.to_sql('new_purchases', con)


这三行代码分别是写入csv,json,以及SQL文件


当我们保存JSON和CSV文件时,我们需要向这些函数输入的只是我们需要的文件名和适当的文件扩展名。使用SQL,我们不创建新文件,而是使用之前的con变量将新表插入数据库。让我们继续导入一些实际数据,并详细介绍一些您将经常使用的操作:


import pandas as pd
import sqlite3


data = {
'apples': [3, 2, 0, 1],
'oranges': [0, 3, 7, 2]
}
purchases = pd.DataFrame(data, index=['June', 'Robert', 'Lily', 'David'])


print (purchases)


purchases.to_csv('purchases.csv')
purchases.to_json('purchases.json')
con = sqlite3.connect("database.db")
purchases.to_sql('purchases', con)


我们使用之前学过的purchases数据,将它导入三种文件格式中。请记得保留这个结果,因为我们会在读取文件中使用到它们。


pandas读取文件



1
读取CSV文件


使用CSV文件,你只需要一行命令来加载数据:


df = pd.read_csv('purchases.csv')
print(df)


输出结果:


Unnamed: 0applesoranges
0June30
1Robert23
2Lily07
3David12


csv没有DataFrames中第一列的索引,所以我们需要使用index_col来屏蔽第一列空索引:


df = pd.read_csv('purchases.csv', index_col=0)
print(df)


输出结果:


applesoranges
June30
Robert23
Lily07
David12



2
读取JSON文件


如果你有一个JSON文件-它本质上是一个被存储的Python字典文件。pandas可以很容易地读这个文件:


df = pd.read_json('purchases.json')
print(df)


输出结果:


applesoranges
David12
June30
Lily07
Robert23


注意,这次我们的索引是正确的。



3
读取SQL数据库


如果要处理来自SQL数据库的数据,首先需要使用适当的Python库建立连接,然后将查询传递给pandas。这里我们将使用SQLite进行演示。

首先,我们需要安装pysqlite3,所以在你的终端运行这个命令:


pip install pysqlite3


sqlite3用于创建到数据库的连接,然后我们可以使用该连接通过SELECT查询生成数据。


首先,我们将连接到一个SQLite数据库文件:


import sqlite3
con = sqlite3.connect("database.db")


在这个SQLite数据库中,我们有一个名为purchase的表,我们的索引在一个名为“index”的列中。


通过传递一个SELECT查询和我们的con,我们可以从purchase表中读取:


df = pd.read_sql_query("SELECT * FROM purchases", con)
print (df)


输出结果:



indexapplesoranges
0June30
1Robert23
2Lily07
3David12




温馨提示

欢迎分享和转发~


前面的课程:

Python进阶之Pandas入门(一) 介绍和核心



·END·
 

扫码关注

带你进入Python新世界




文章转载自Python学会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论