-2

我有一个要求,我需要使用 Python 写入 excel 单元格,我将从网页收集的数据。

但没有选择如何做到这一点。

你们有什么想法吗?

根据@Marcin 的评论,这里是我正在寻找的更明确的要求

为什么需要python?->是的,我正在使用 Python 和 Beautiful Soup 模块从网页中获取数据。

excel在哪里运行,或者根本就在运行?->当脚本从网页完成其数据收集时需要 Excel,并将尝试到下一页执行相同的任务,我希望将当前数据保存为 excel 格式。

这与网络有什么关系?你到底想达到什么目的? 希望对您的上述问题给出这个答案。

您可以只使用 CSV 文件吗? 是的,我可以使用它,但我的最终目标是将数据推送回数据库,可以是 Oracle 或 Access 数据库。

建筑学

                 ------------------
                |       web        |
                |       page       |
                 ------------------
                          |
                          |
                          |
            Python and BS4(Data Extraction)
                          |
                          |
                          |
                 ------------------                               
                |       Excel      |
                |       data       |
                 ------------------
                          |
                          |
                          |
             Python to Push Data(Oracle/Access)
                          |
                          |
                          |
                 ------------------
                |       Any        |
                |       DB         |
                 ------------------

编辑

根据@Thang

我试过但收到错误:

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Happy>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import win32com.client
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named win32com.client
>>>
4

4 回答 4

3

实际上,您有几个选择,具体取决于您要做什么。

xlwt- 我认为这非常适合从 Python 操作 Excel 文件。我已将您链接到文档。 DataNitro - 用于 Excel 中的 Python 脚本。它有点慢,但我已经用过很多次了。您可以(通常使用 VBA)让 Excel 发出 Web 请求并拉入表格。在我知道如何编程之前,这就是我进行所有网络抓取的方式。

于 2013-01-05T19:23:34.477 回答
1

对于 Office 2007 及更高版本,API 是 .Net,因此您可以使用Python for .NetIronPython

Thang 提到了 pywin32,它也适用于 Office 2007 及更高版本和更早的版本。

于 2013-01-05T19:19:22.480 回答
1

如果您正在使用 Office 2007 excel(又名 xlsx 文件),请尝试使用OpenPyXL

于 2013-01-05T19:22:32.557 回答
1

如果您只需要能够使用 Excel 中的数据,请使用该模块将其保存为csv格式。csv

如果您需要直接生成 Excel 格式文件(我认为您没有理由这样做,因为您没有说您正在接收 excel 文件),您可以使用其他答案中提到的第三方模块之一。

更新:使用 CSV 不会阻止您将数据放入数据库;同样,如果您想将数据放入数据库,Excel 也不会特别帮助您。更好的方法是将数据简单地保存在内存中,并在完成后将其写入数据库。如果您需要中间存储,请使用另一个数据库。

于 2013-01-05T19:43:08.683 回答