pandas不覆盖excel(pandas写excel文件不覆盖)

Excel表格网 2022-11-18 04:36 编辑:admin 265阅读

1. pandas写excel文件不覆盖

  在如何使用Python脚本转换数据和命令行中,我们将深入探讨如何使用Python脚本和命令行来转换数据。

  但是首先,值得提出一个您可能正在思考的问题:“ Python如何适合命令行,为什么当我知道我可以使用IPython笔记本完成所有数据科学工作时,为什么还要使用命令行与Python进行交互?还是Jupyter实验室?”

  笔记本非常适合快速进行数据可视化和探索,但是Python脚本是将我们学到的东西投入生产的一种方式。假设您想建立一个网站,以帮助人们发布具有理想标题和提交时间的Hacker News帖子。为此,您需要脚本。

  本教程假定您具有函数的基本知识,并且有一点命令行经验也不会受到损害。如果您以前从未使用过Python,请随时查看我们涵盖Python函数基础的任务,或者更深入地研究我们的一些数据科学课程。最近,我们发布了两个新的交互式命令行课程:“ 命令行元素”和“命令行中的文本处理”,因此如果您想更深入地研究命令行,我们也建议您

  也就是说,不必过分担心先决条件!我们将解释我们正在做的所有事情,所以让我们开始吧!

  熟悉数据

  Hacker News是一个站点,用户可以在该站点上通过Internet(通常是有关技术和创业公司)提交文章,而其他人可以“赞扬”这些文章,表示他们喜欢它们。提交的投票越多,在社区中就越受欢迎。热门文章进入Hacker News的“首页”,在其他网站上它们更有可能被他人看到。

  我们将使用的数据集是由Arnaud Drizard使用Hacker News API编译的,可以在此处找到。我们从数据中随机抽取了10000行,并删除了所有多余的列。我们的数据集只有四列:

  submission_time -故事提交时。

  upvotes -提交的投票数。

  url —提交的基本域。

  headline—提交的标题。用户可以对其进行编辑,而不必与原始文章的标题相匹配。

  我们将编写脚本来回答三个关键问题:

  哪些新闻最常出现在头条新闻中?

  哪些域名最常提交给Hacker News?

  大多数文章什么时候提交?

  切记:在编程时,有多种方法可以处理任务。在本教程中,我们将逐步解决这些问题,但是肯定还有其他方法同样有效,因此请随时尝试并尝试提出自己的方法!

  使用命令行和Python脚本读取数据

  要加注星标,让我们Transforming_Data_with_Python在桌面上创建一个文件夹。要使用命令行创建文件夹,可以使用mkdir命令,后跟文件夹名称。例如,如果要创建一个名为的文件夹test,则可以导航到Desktop目录,然后键入mkdir test。

  我们将稍后讨论为什么创建文件夹,但是现在,让我们使用cd命令导航到创建的文件夹。该cd命令允许我们使用命令行更改目录。

  尽管有多种使用命令行创建文件的方法,但我们可以利用一种称为管道传输和重定向输出的技术来一次完成两件事:将输出从stdout(命令行生成的标准输出)重定向到文件中并创建一个新文件!换句话说,我们可以让它创建一个新文件并使它的输出成为该文件的内容,而不是让命令行仅打印其输出。

  要做到这一点,我们可以使用>和>>,这取决于我们想用文件来完成。如果文件不存在,两者都会创建一个文件;但是,>将使用重定向的输出覆盖文件中已有的文本,同时>>将任何重定向的输出附加到文件中。

  我们希望将数据读入该文件并创建一个描述性的文件名和函数名称,因此我们将创建一个名为的函数,load_data()并将其保存在名为的文件中read.py。让我们使用读取数据的命令行创建函数。为此,我们将使用该printf函数。(我们将使用printf它,因为它允许我们打印换行符和制表符,我们将使用它们来使脚本对自己和其他人更具可读性)。

  为此,我们可以在命令行中输入以下内容

  printf "import pandas as pd\n\ndef load_data():\n\thn_stories = pd.read_csv('hn_stories.csv')\n\thn_stories.colummns = ['submission_time', 'upvotes', 'url', 'headline']\n\treturn(hn_stores)\n" > read.py

  检查上面的代码,有很多事情要做。让我们将其分解。在函数中,我们是:

  a.请记住,我们要使脚本可读,我们正在使用printf命令通过命令行生成一些输出,以在生成输出时保留格式。

  b.进口大熊猫。

  c.将数据集(hn_stories.csv)读入pandas数据框。

  d.使用df.columns列名添加到我们的数据帧。

  e.创建一个名为的函数load_data(),其中包含用于读取和处理数据集的代码。

  f.利用换行符(\n)和制表符(\t)保留格式,因此Python可以读取脚本。

  g.将输出重定向printf到read.py使用>运算符调用的文件。由于read.py尚不存在,因此已创建文件。

  运行上面的代码后,我们可以cat read.py在命令行中键入并执行命令以检查的内容read.py。如果一切正常运行,我们的read.py文件将如下所示:

  创造 __init__.py

  在该项目的其余部分,我们将创建更多脚本来回答我们的问题并使用该load_data()函数。尽管我们可以将该函数粘贴到使用该函数的每个文件中,但是如果我们正在处理的项目很大,则可能会变得非常麻烦。

  为了解决这个问题,我们可以创建一个名为的文件__init__.py。本质上,__init__.py允许文件夹将其目录文件视为包。最简单的形式__init__.py可以是一个空文件。它只需要存在就可以将目录文件视为包。您可以在Python文档中找到有关包和模块的更多信息。

  因为load_data()是中的函数read.py,所以我们可以使用导入包的相同方法来导入该函数:from read import load_data()。

  还记得使用命令行创建文件的多种方法吗?我们可以使用另一个命令来创建文件__init__.py这次,我们将使用该touch命令来创建文件。touch是一个在您运行命令后立即为您创建一个空文件的命令:

  探索标题中的单词

  现在,我们已经创建了一个脚本来读取和处理数据以及创建的数据__init__.py,我们可以开始分析数据了!我们要探索的第一件事是标题中出现的独特词。为此,我们要执行以下操作:

  1)count.py使用命令行创建一个名为的文件。

  2)load_data从导入read.py,并调用函数以读取数据集。

  3)将所有标题合并为一个长长的字符串。当您合并标题时,我们希望在每个标题之间留一个空格。在此步骤中,我们将使用Series.str.cat连接字符串。

  4)将长字符串拆分成单词。

  5)使用Counter类可以计算每个单词在字符串中出现的次数。

  6)使用该.most_common()方法将100个最常用的单词存储到wordCount。

  如果使用命令行创建此文件,则外观如下:

  printf "from read import load_data\nfrom collections import Counter\n\nstories = load_data()\nheadlines = stories['headline'].str.cat(sep = ' ').lower()\nwordCount = Counter(headlines.split(' ')).most_common(100)\nprint(wordCount)\n" > count.py

  运行上面的代码后,您可以cat count.py在命令行中键入并执行命令以检查的内容count.py。如果一切正常运行,您的count.py文件将如下所示:

  现在,我们已经创建了Python脚本,我们可以从命令行运行脚本以获取一百个最常用单词的列表。要运行脚本,我们从命令行键入python count.py命令。

  脚本运行后,您将看到以下打印结果:

  [('the', 2045), ('to', 1641), ('a', 1276), ('of', 1170), ('for', 1140), ('in', 1036), ('and', 936), ('', 733), ('is', 620), ('on', 568), ('hn:', 537), ('with', 537), ('how', 526), ('-', 487), ('your', 480), ('you', 392), ('ask', 371), ('from', 310), ('new', 304), ('google', 303), ('why', 262), ('what', 258), ('an', 243), ('are', 223), ('by', 219), ('at', 213), ('show', 205), ('web', 192), ('it', 192), ('–', 184), ('do', 183), ('app', 178), ('i', 173), ('as', 161), ('not', 160), ('that', 160), ('data', 157), ('about', 154), ('be', 154), ('facebook', 150), ('startup', 147), ('my', 131), ('|', 127), ('using', 125), ('free', 125), ('online', 123), ('apple', 123), ('get', 122), ('can', 115), ('open', 114), ('will', 112), ('android', 110), ('this', 110), ('out', 109), ('we', 106), ('its', 102), ('now', 101), ('best', 101), ('up', 100), ('code', 98), ('have', 97), ('or', 96), ('one', 95), ('more', 93), ('first', 93), ('all', 93), ('software', 93), ('make', 92), ('iphone', 91), ('twitter', 91), ('should', 91), ('video', 90), ('social', 89), ('&', 88), ('internet', 88), ('us', 88), ('mobile', 88), ('use', 86), ('has', 84), ('just', 80), ('world', 79), ('design', 79), ('business', 79), ('5', 78), ('apps', 77), ('source', 77), ('cloud', 76), ('into', 76), ('api', 75), ('top', 74), ('tech', 73), ('javascript', 73), ('like', 72), ('programming', 72), ('windows', 72), ('when', 71), ('ios', 70), ('live', 69), ('future', 69), ('most', 68)]

  在我们的网站上滚动浏览它们会有些尴尬,但是您可能会注意到最常见的词,例如等等。这些词被称为停用词the,to a for这些词对人类语音很有用,但对数据分析没有任何帮助。您可以在我们的spaCy教程中找到更多有关停用词的信息;如果要扩展此项目,则从我们的分析中删除停用词将是一个有趣的下一步。

  即使包含了停用词,我们也可以发现一些趋势。除了停用词之外,这些词中的绝大多数都是与技术和创业相关的术语。考虑到HackerNews专注于科技创业公司,这并不奇怪,但是我们可以看到一些有趣的特定趋势。例如,谷歌是该数据集中最常提及的品牌。Facebook,Apple和Twitter等其他品牌也是讨论的热门话题。

  探索域提交

  现在我们已经探索了不同的标题并显示了前100个最常用的词,现在我们可以探索域提交了!为此,我们可以执行以下操作:

  1)domains.py使用命令行创建一个名为的文件。

  2)load_data从导入read.py,并调用函数以读取数据集。

  3)使用value_counts()大熊猫中的方法来计算列中每个值的出现次数。

  4)遍历该系列并打印索引值及其关联的总数。

  这是命令行形式的外观:

  printf "from read import load_data\n\nstories = load_data()\ndomains = stories['url'].value_counts()\nfor name, row in domains.items():\n\tprint('{0}: {1}'.format(name, row))\n" > domains.py

  再一次,如果我们cat domains.py在命令行中输入来检查domains.py,我们应该看到:

  探索提交时间

  我们想知道大多数文章何时提交。一种简单的重组方法是查看文章的提交时间。为了弄清楚这一点,我们需要使用该submission_time列。

  该submission_time列包含如下时间戳:2011-11-09T21:56:22Z。这些时间以UTC表示,UTC是大多数软件用于保持一致性的通用时区(想象一个数据库中填充的时间都具有不同的时区;要使用它会非常麻烦)。

  要从时间戳获取小时,我们可以使用该dateutil库。中的parser模块dateutil包含parse函数,该函数可以带一个时间戳,如何使用Python脚本转换数据和命令行https://www.aaa-cg.com.cn/data/2304.html并返回一个datetime对象。这是文档的链接。解析时间戳后,hour结果日期对象的属性将告诉您文章提交的时间。

  为此,我们可以执行以下操作:

  1)times.py使用命令行创建一个名为的文件。

  2)编写一个函数以从时间戳中提取小时。此函数应首先用于dateutil.parser.parse解析时间戳,然后从结果datetime对象中提取小时,然后使用来返回小时.hour。

  3)使用pandas apply()方法创建提交时间列。

  4)使用value_counts()大熊猫中的方法来计算每小时发生的次数。

  5)打印结果。

  我们在命令行中执行以下操作:

  printf "from dateutil.parser import parse\nfrom read import load_data\n\n\ndef extract_hour(timestamp):\n\tdatetime = parse(timestamp)\n\thour = datetime.hour\n\treturn hour\n\nstories = load_data()\nstories['hour'] = stories['submission_time'].apply(extract_hour)\ntime = stories['hour'].value_counts()\nprint(time)" > times.py

  这是它看起来像一个单独.py文件的样子(如上所述,您可以通过cat times.py从命令行运行以检查文件来进行确认):

  现在,我们已经创建了Python脚本,我们可以从命令行运行脚本,以获取特定时间内发布了多少篇文章的列表。为此,您可以从命令行键入python times.py命令。运行此脚本,您将看到以下结果:

  您会注意到大多数提交内容是在下午发布的。但是请记住,这些时间是UTC时间。如果您有兴趣扩展此项目,请尝试在脚本中添加一个部分,以将UTC的输出转换为本地时区。

  下一步

  在如何使用Python脚本转换数据和命令行中,我们探索了数据并建立了一个短脚本目录,这些短脚本可相互配合以提供所需的答案。这是构建我们的数据分析项目的生产版本的第一步。

  但是,当然,这仅仅是开始!在如何使用Python脚本转换数据和命令行中,我们没有使用过upvotes数据,因此这是扩展分析范围的一个不错的下一步:

  a.标题长度最大才能获得最多投票?

  b.提交时间最多的是什么?

  c.投票总数随时间变化如何?

  我们鼓励您结合自己的问题,并在继续探索此数据集时发挥创造力!

https://www.toutiao.com/i6831049808313057804/

2. pandas读取excel文件不存在

  在有关大数据分析Python API的本教程中,我们将学习如何从远程网站检索数据以进行数据科学项目。像baidu,Twitter和Facebook之类的网站都通过其应用程序编程接口(API)向程序员提供某些数据。要使用API,你需要向远程Web服务器发出请求,然后检索所需的数据。

  但是,为什么要使用API而不是可以下载的静态数据集呢?API在以下情况下很有用:

  a.数据变化很快。股票价格数据就是一个例子。重新生成数据集并每分钟下载一次并没有实际意义-这会占用大量带宽,而且速度很慢。

  b.您需要一小部分更大的数据。Reddit评论就是一个例子。如果您只想在Reddit上发表自己的评论该怎么办?下载整个Reddit数据库,然后仅过滤您自己的注释并没有多大意义。

  c.涉及重复计算。Spotify的API可以告诉您音乐的流派。从理论上讲,您可以创建自己的分类器,并使用它对音乐进行分类,但您将永远不会拥有Spotify所拥有的数据。

  在上述情况下,API是正确的解决方案。对于本数据科学教程,我们将查询一个简单的API,以检索有关国际空间站(ISS)的数据。使用API可以节省我们自己进行所有计算的时间和精力。

  大数据分析Python中的API请求

  API托管在Web服务器上。当您www.google.com在浏览器的地址栏中键入内容时,您的计算机实际上是在向www.google.com服务器询问网页,然后该网页返回到您的浏览器。

  API的工作方式几乎相同,除了您的程序要求数据而不是您的Web浏览器询问网页之外。这些数据通常以JSON格式返回(有关更多信息,请参阅有关使用JSON数据的教程)。

  为了获取数据,我们向Web服务器发出请求。然后,服务器将回复我们的数据。在大数据分析Python中,我们将使用请求库来执行此操作。在此大数据分析Python API教程中,我们将为所有示例使用大数据分析Python 3.4。

  请求类型

  有许多不同类型的请求。最常用的一个GET请求用于检索数据。

  我们可以使用一个简单的GET请求从OpenNotify API 检索信息。

  OpenNotify具有多个API端点。端点是用于从API检索不同数据的服务器路由。例如,/commentsReddit API上的端点可能会检索有关注释的信息,而/users端点可能会检索有关用户的数据。要访问它们,您可以将端点添加到API 的基本URL中。

  我们将在OpenNotify上看到的第一个端点是iss-now.json端点。该端点获取国际空间站的当前纬度和经度。如您所见,检索此数据不适用于数据集,因为它涉及服务器上的一些计算,并且变化很快。

  您可以在此处查看OpenNotify上所有端点的列表。

  OpenNotify API 的基本网址是http://api.open-notify.org,因此我们将其添加到所有端点的开头。

  状态码

  我们刚刚发出的请求的状态码为200。向Web服务器发出的每个请求都返回状态代码。状态代码指示有关请求发生的情况的信息。以下是与GET请求相关的一些代码:

  a)200 -一切正常,结果已返回(如果有)

  b)301—服务器正在将您重定向到其他端点。当公司切换域名或更改端点名称时,可能会发生这种情况。

  c)401-服务器认为您未通过身份验证。当您没有发送正确的凭据来访问API时就会发生这种情况(我们将在以后的文章中讨论身份验证)。

  d)400-服务器认为您提出了错误的请求。当您没有正确发送数据时,可能会发生这种情况。

  e)403 —您尝试访问的资源被禁止—您没有正确的权限查看它。

  f)404 -在服务器上找不到您尝试访问的资源。

  现在http://api.open-notify.org/iss-pass,根据API文档,向不存在的端点发出GET请求。

  击中正确的终点

  iss-pass不是有效的端点,因此我们得到了一个404状态码作为相应。.json正如API文档所述,我们忘记在最后添加。

  现在,我们将向发出GET请求http://api.open-notify.org/iss-pass.json。

  查询参数

  您将在上一个示例中看到,我们得到了一个400状态码,表示请求错误。如果您查看OpenNotify API的文档,我们会发现ISS Pass端点需要两个参数。

  当ISS下次通过地球上的给定位置时,将返回ISS Pass端点。为了对此进行计算,我们需要将位置的坐标传递给API。为此,我们传递了两个参数-纬度和经度。

  为此,我们可以在params请求中添加可选的关键字参数。在这种情况下,我们需要传递两个参数:

  1)lat —我们想要的位置的纬度。

  2)lon —我们想要的位置的经度。

  我们可以使用这些参数制作字典,然后将它们传递给requests.get函数。

  我们还可以通过将查询参数添加到url中来直接做同样的事情,如下所示:http://api.open-notify.org/iss-pass.json?lat=40.71&lon=-74。

  将参数设置为字典几乎总是可取的,因为requests它可以处理一些事情,例如正确设置查询参数的格式。

  我们将使用纽约市的坐标进行请求,然后查看得到的答复。

  b'{n "message": "success", n "request": {n "altitude": 100, n "datetime": 1441417753, n "latitude": 40.71, n "longitude": -74.0, n "passes": 5n }, n "response": [n {n "duration": 330, n "risetime": 1441445639n }, n {n "duration": 629, n "risetime": 1441451226n }, n {n "duration": 606, n "risetime": 1441457027n }, n {n "duration": 542, n "risetime": 1441462894n }, n {n "duration": 565, n "risetime": 1441468731n }n ]n}'

  b'{n "message": "success", n "request": {n "altitude": 100, n "datetime": 1441417753, n "latitude": 40.71, n "longitude": -74.0, n "passes": 5n }, n "response": [n {n "duration": 329, n "risetime": 1441445639n }, n {n "duration": 629, n "risetime": 1441451226n }, n {n "duration": 606, n "risetime": 1441457027n }, n {n "duration": 542, n "risetime": 1441462894n }, n {n "duration": 565, n "risetime": 1441468731n }n ]n}'

  使用JSON数据

  您可能已经注意到,响应的内容之前是a string(尽管它显示为bytes对象,但是我们可以使用轻松地将内容转换为字符串response.content.decode("utf-8"))。

  字符串是我们将信息来回传递给API的方式,但是很难从字符串中获取我们想要的信息。我们如何知道如何解码返回的字符串并在大数据分析Python中使用它?我们如何altitude从字符串响应中找出ISS的含义?

  幸运的是,有一种名为JavaScript Object Notation(JSON)的格式。JSON是一种将列表和字典之类的数据结构编码为字符串的方法,以确保它们易于被机器读取。JSON是将数据来回传递给API的主要格式,大多数API服务器将以JSON格式发送其响应。

  json套件随附大数据分析Python强大的JSON支持。该json软件包是标准库的一部分,因此我们无需安装任何程序即可使用它。我们既可以将列表和字典转换为JSON,也可以将字符串转换为列表和字典。就我们的ISS Pass数据而言,它是一个字典,编码为JSON格式的字符串。

  json库有两种主要方法:

  1)dumps —接收一个大数据分析Python对象,并将其转换为字符串。

  2)loads —接收JSON字符串,并将其转换为大数据分析Python对象。

  从API请求获取JSON

  通过使用.json()响应上的方法,您可以将响应的内容作为大数据分析Python对象获取。

  {'response': [{'risetime': 1441456672, 'duration': 369}, {'risetime': 1441462284, 'duration': 626}, {'risetime': 1441468104, 'duration': 581}, {'risetime': 1441474000, 'duration': 482}, {'risetime': 1441479853, 'duration': 509}], 'message': 'success', 'request': {'latitude': 37.78, 'passes': 5, 'longitude': -122.41, 'altitude': 100, 'datetime': 1441417753}}

  内容类型

  服务器不仅会在生成响应时发送状态码和数据。它还发送包含有关如何生成数据以及如何对其进行解码的信息的元数据。这存储在响应头中。在大数据分析Python中,我们可以使用headers响应对象的属性来访问它。

  标头将显示为字典。在标题中,content-type是目前最重要的键。它告诉我们响应的格式以及如何对其进行解码。大数据分析Python API入门教程https://www.aaa-cg.com.cn/data/2308.html对于OpenNotify API,格式为JSON,这就是为什么我们可以json更早地使用包对其进行解码的原因。

  寻找太空中的人数

  OpenNotify还有一个API端点astros.json。它告诉你当前有多少人在太空中。相应的格式可以在这里找到。

  9

  {'number': 9, 'people': [{'name': 'Gennady Padalka', 'craft': 'ISS'}, {'name': 'Mikhail Kornienko', 'craft': 'ISS'}, {'name': 'Scott Kelly', 'craft': 'ISS'}, {'name': 'Oleg Kononenko', 'craft': 'ISS'}, {'name': 'Kimiya Yui', 'craft': 'ISS'}, {'name': 'Kjell Lindgren', 'craft': 'ISS'}, {'name': 'Sergey Volkov', 'craft': 'ISS'}, {'name': 'Andreas Mogensen', 'craft': 'ISS'}, {'name': 'Aidyn Aimbetov', 'craft': 'ISS'}], 'message': 'success'}

  大数据分析Python API数据科学教程:后续步骤

  现在,您已经完成了大数据分析Python API教程,现在应该可以访问简单的API并发出get请求了。requests在我们的dataquest API和抓取课程中,还有其他几种类型,您可以了解更多信息以及与API身份验证一起使用。

  建议的其他后续步骤是阅读请求文档,并使用Reddit API。有一个名为PRAW 的程序包,它使在大数据分析Python中使用Reddit API更加容易,但是建议requests首先使用它来了解一切的工作原理。

https://www.toutiao.com/i6832146415016215043/

3. pandas不能读取excel文件

用 pandas.read_table()读txt吧,速度提升很明显

4. pandas写入Excel不覆盖

pandas读取、写入csv数据非常方便,但是有时希望通过excel画个简单的图表看一下数据质量、变化趋势并保存,这时候csv格式的数据就略显不便,因此尝试直接将数据写入excel文件。

pandas可以写入一个或者工作簿,两种方法介绍如下:

1、如果是将整个DafaFrame写入excel,则调用to_excel()方法即可实现,示例代码如下:

# output为要保存的Dataframe

output.to_excel(‘保存路径 + 文件名.xlsx‘)

2、有多个数据需要写入多个excel的工作簿,这时需要调用通过ExcelWriter()方法打开一个已经存在的excel表格作为writer,然后通过to_excel()方法将需要保存的数据逐个写入excel,最后关闭writer。

示例代码如下:

# 创建一个空的excel文件

nan_excle = pd.DataFrame()

nan_excel.to_excel(path + filename)

# 打开excel

writer = pd.ExcelWriter(path + filename)

#sheets是要写入的excel工作簿名称列表

for sheet in sheets:

output.to_excel(writer, sheet_name=sheet)

# 保存writer中的数据至excel

# 如果省略该语句,则数据不会写入到上边创建的excel文件中

writer.save()

5. pandas写入excel文件不覆盖

Python批量读取特定文件夹下Excel的话,主要分为2步,首先根据后缀名(xls或xlsx)匹配出所有Excel文件,然后直接利用相关模块(pandas,openpyxl等)读取即可,下面我简单介绍一下实现过程,感兴趣的朋友可以尝试一下:

01

查找所有Excel文件

这一步非常简单,主要是根据后缀名匹配所有Excel文件,基本思路先使用os.walk函数遍历指定的文件夹,找到所有文件,然后一一匹配文件后缀名,如果是xls或xlsx,则为Excel文件,添加到list列表,之后返回,后面读取函数就是根据这个列表(存储所有搜索到的Excel文件路径)读取Excel文件:

02

读取Excel文件内容

这一步主要你是根据上一步找到的Excel文件路径直接读取Excel文件,至于读取模块或库的话,那就非常多啦,基本的xlrd,xlutils,openpyxl都行,最简单的方式就是使用pandas,一个著名的数据处理库,内置了大量函数和类型,可以轻松处理Excel等日常各种文件,安装的话,直接在cmd窗口输入命令“pip install pandas”即可:

安装完成后,我们就可以直接使用pandas库读取Excel文件了,非常简单,只需要一行代码即可搞定,也就是read_excel函数,传入Excel文件路径就行,默认情况下会读取列标题,如果你不需要列标题的话,设置header=None即可,读取的数据类型为DataFrame,后续处理的话,也非常方便:

至此,我们就完成了利用Python批量读取特定文件夹下Excel。总的来说,整个过程非常简单,就是根据后缀名匹配查找,然后直接读取即可,只要你有一定Python基础,熟悉一下上面的代码和示例,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

6. pandas保留excel样式

可以,上亿的数据都可以,Pandas的非空计算速度很快,9800万数据也只需要28.7秒。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片