返回顶部
首页 > 资讯 > 后端开发 > Python >如何用Python来拯救Excel遇到大数据问题
  • 112
分享到

如何用Python来拯救Excel遇到大数据问题

2023-06-16 12:06:07 112人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇文章为大家展示了如何用python来拯救excel遇到大数据问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Excel能做很多事情;当涉及到更大的数据集时,这简直是一种痛苦。数据需要很长时间才

本篇文章为大家展示了如何用python来拯救excel遇到大数据问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Excel能做很多事情;当涉及到更大的数据集时,这简直是一种痛苦。数据需要很长时间才能加载,在你意识到机器的内存耗尽之前,整个事情就变得无法管理了。更不用说Excel最多只能支持1,048,576行。

如果有一种简单的方法,那就是将数据传输到sql数据库中进行分析。这就是Python拯救世界的方式。

Python中的SQL

首先,让我们研究一下在Python中使用SQL时最流行的选项:MySQL和SQLite。

Mysql有两个流行的库:Pymysql和MySQLDb;而SQLite有SQLite3。

SQLite就是所谓的嵌入式数据库,这意味着它在我们的应用程序中运行,因此不需要先在某个地方安装它(不像MySQL)。

这是一个重要的区别;在我们寻求快速数据分析的过程中起着关键作用。因此,我们将继续学习如何使用SQLite。

在Python中设置SQLite

我们需要做的第一件事是导入库:

import sqlite3

然后,我们需要确定是否要在任何地方保存这个数据库,还是在应用程序运行时将它保存在内存中。

如果决定通过导入任何数据来实际保存数据库,那么我们必须给数据库一个名称,例如' FinanceExplainedDb ',并使用以下命令:

dbname = 'FinanceExplainedDb' conn = sqlite3.connect(dbname + '.sqlite')

另一方面,如果我们想把整个东西保存在内存中,并在完成后让它消失,我们可以使用以下命令:

conn = sqlite3.connect(':memory:')

至此,SQLite已经全部设置好,可以在Python中使用了。假设我们在Table 1中加载了一些数据,我们可以用以下方式执行SQL命令:

cur = conn.cursor() cur.execute('SELECT * FROM Table1') for row in cur:     print(row)

现在让我们探索如何通过使用pandas的应用程序使数据可用。

使用pandas加载数据

假设我们已经有了数据,我们想要进行分析,我们可以使用Pandas库来做这件事。

首先,我们需要导入pandas库,然后我们可以加载数据:

import pandas as pd #if we have a csv file df = pd.read_csv('ourfile.csv') #if we have an excel file df = pd.read_excel('ourfile.xlsx')

一旦我们加载数据,我们可以把它直接放入我们的SQL数据库与一个简单的命令:

df.to_sql(name='Table1', con=conn)

如果在同一个表中加载多个文件,可以使用if_exists参数:

df.to_sql(name='Table1', con=conn, if_exists='append')

在处理较大的数据集时,我们将无法使用这个单行命令来加载数据。我们的应用程序将耗尽内存。相反,我们必须一点一点地加载数据。在这个例子中,我们假设每次加载10,000行:

chunksize = 10000 for chunk in pd.read_csv('ourfile.csv', chunksizechunksize=chunksize):     chunk.to_sql(name='Table1', con=conn, if_exists='append')

把所有的东西放在一起

为了将所有内容综合起来,我们提供一个Python脚本,它涵盖了我们讨论的大部分内容。

import sqlite3, pandas as pd, numpy as np #####Creating test data for us -- you can ignore from sklearn import datasets iris = datasets.load_iris() df1 = pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns= iris['feature_names'] + ['target']) df1.to_csv('TestData.csv',index=False) ########################### conn = sqlite3.connect(':memory:') cur = conn.cursor() chunksize = 10 for chunk in pd.read_csv('TestData.csv', chunksizechunksize=chunksize):     chunkchunk.columns = chunk.columns.str.replace(' ', '_') #replacing spaces with underscores for column names     chunk.to_sql(name='Table1', con=conn, if_exists='append') cur.execute('SELECT * FROM Table1') names = list(map(lambda x: x[0], cur.description)) #Returns the column names print(names) for row in cur:     print(row) cur.close()

上述内容就是如何用Python来拯救Excel遇到大数据问题,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网Python频道。

--结束END--

本文标题: 如何用Python来拯救Excel遇到大数据问题

本文链接: https://lsjlt.com/news/283516.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作