我有一个要求,我需要使用Python写入excel单元格,我将从网页收集的数据。
但是没有选择如何做到这一点。
你们这些人的想法是什么?
根据@Marcin,这里的评论是我要求的更明确的要求
为什么要求python? - > 是的我使用带有Beautiful Soup模块的Python来从网页中获取数据。
excel在哪里运行,或者它在运行? - >当脚本从网页完成数据收集时需要 Excel,并且尝试下一页执行相同的任务,我希望将当前数据保存为excel格式。
这与网络有什么关系?你究竟想要达到什么程度? 希望这个答案能够解决你的上述问题。
您可以使用CSV文件吗? 是的,我可以使用它,但我的最终目标是将数据推送回数据库,该数据库可能是Oracle或访问数据库。
建筑
------------------
| 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
>>>
答案 0 :(得分:3)
实际上,你有几个选择,具体取决于你想要做什么。
xlwt
- 我认为这对于从Python处理Excel文件非常有用。我已将您链接到文档。
DataNitro - 用于Excel中的Python脚本。它有点慢,但我已经用了很多。您可以(通常使用VBA)让Excel发出Web请求并拉入表格。在我知道如何编程之前,这就是我完成所有网络抓取工作的方式。
答案 1 :(得分:1)
我会建议PyWin32。本文可以为您提供一些基本知识:http://www.blog.pythonlibrary.org/2010/07/16/python-and-microsoft-office-using-pywin32/
答案 2 :(得分:1)
对于Office 2007及更高版本的API是.Net,因此您可以使用Python for .Net或IronPython。
Thang提到了pywin32,它也适用于Office 2007以及旧版本和旧版本。答案 3 :(得分:1)
如果您正在使用Office 2007 excel(又名xlsx文件),请尝试OpenPyXL
答案 4 :(得分:1)
如果您只需要能够在Excel中使用数据,请使用csv
模块以csv
格式保存。
如果您需要直接生成Excel格式文件(我认为您没有理由,因为您没有说您正在接收Excel文件),您可以使用其他答案中提到的第三方模块之一
更新:使用CSV不会阻止您将数据放入数据库中;同样,如果您想将数据放入数据库,Excel将不会特别为您提供帮助。更好的方法是简单地将数据保存在内存中,并在完成后将其写入数据库。如果您需要中间存储,请使用其他数据库。