簡體   English   中英

是否可以使用 Python 將 Excel 工作表中的數據推送到數據庫中?

[英]Is it possible to push data from Excel sheet using Python into a database?

我有一個要求,我需要使用 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
>>>

實際上,您有幾種選擇,具體取決於您要嘗試做什么。

xlwt - 我認為這非常適合從 Python 操作 Excel 文件。 我已將您鏈接到文檔。 DataNitro - 用於從 Excel 中編寫 Python 腳本。 它有點慢,但我已經使用了很多。 您可以(通常使用 VBA)讓 Excel 發出 Web 請求並拉入表格。 在我知道如何編程之前,我就是這樣完成我的所有網絡抓取的。

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

Thang 提到了 pywin32,它也適用於 Office 2007 及更高版本和舊版本。

如果您使用的是 Office 2007 excel(又名 xlsx 文件),請嘗試使用OpenPyXL

如果您只需要能夠在 Excel 中使用數據,請使用csv模塊將其保存為csv格式。

如果您需要直接生成 Excel 格式的文件(我想不出您應該這樣做的原因,因為您沒有說您正在接收 excel 文件),您可以使用其他答案中提到的第三方模塊之一。

更新:使用 CSV 不會阻止您將數據放入數據庫; 同樣,如果您想將數據放入數據庫中,Excel 也不會特別為您提供幫助。 更好的方法是簡單地將數據保存在內存中,並在完成后將其寫入數據庫。 如果您需要中間存儲,請使用另一個數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM