前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进阶之Pandas入门(二) 读取和导出数据

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

作者头像
HuangWeiAI
发布2019-12-25 17:07:14
2K0
发布2019-12-25 17:07:14
举报
文章被收录于专栏:浊酒清味浊酒清味

引言

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

通过这一课,您将会:

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

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

pandas写入文件

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

代码语言:javascript
复制
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变量将新表插入数据库。让我们继续导入一些实际数据,并详细介绍一些您将经常使用的操作:

代码语言:javascript
复制
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文件,你只需要一行命令来加载数据:

代码语言:javascript
复制
df = pd.read_csv('purchases.csv')
print(df)

输出结果:

Unnamed: 0

apples

oranges

0

June

3

0

1

Robert

2

3

2

Lily

0

7

3

David

1

2

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

代码语言:javascript
复制
df = pd.read_csv('purchases.csv', index_col=0)
print(df)

输出结果:

apples

oranges

June

3

0

Robert

2

3

Lily

0

7

David

1

2

2

读取JSON文件

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

代码语言:javascript
复制
df = pd.read_json('purchases.json')
print(df)

输出结果:

apples

oranges

David

1

2

June

3

0

Lily

0

7

Robert

2

3

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

3

读取SQL数据库

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

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

代码语言:javascript
复制
pip install pysqlite3

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

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

代码语言:javascript
复制
import sqlite3
con = sqlite3.connect("database.db")

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

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

代码语言:javascript
复制
df = pd.read_sql_query("SELECT * FROM purchases", con)
print (df)

输出结果:

index

apples

oranges

0

June

3

0

1

Robert

2

3

2

Lily

0

7

3

David

1

2

温馨提示

欢迎分享和转发~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与机器学习之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档