是否可以使用Python将数据从Excel表推送到数据库中?



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

但是不知道怎么做

你们这些人有什么主意吗?

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

为什么python是必需的? -> 是的,我使用Python与美丽的汤模块从网页获取数据。

excel在哪里运行,或者它在运行吗? -> Excel是需要当一个脚本将完成其数据收集从网页,并将采取尝试到下一页做同样的任务,我希望当前的数据保存成Excel格式。

这与web有什么关系?你到底想达到什么目标?希望这是你的上述问题的答案。

你能用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:UsersHappy>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
>>>

你有几个选项,实际上,这取决于你到底想做什么。

xlwt -我认为这是伟大的从Python操作Excel文件。我已经把文件链接给你了。DataNitro -用于从Excel中编写Python脚本。有点慢,但我用过很多次。你可以(与VBA在一般情况下)有Excel使web请求和拉表。在我知道如何编程之前,我就是这样做我所有的网页抓取的。

如果你正在做Office 2007 excel(又名xlsx文件),请尝试OpenPyXL

对于Office 2007及更高版本的api是。net,所以你可以使用。net的Python或IronPython。

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

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

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

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

最新更新