Python openpyxl运行非常缓慢

问题描述 投票:0回答:1

我写了一个用于网络抓取的脚本。它从网站读取数据并保存到excel文件中。但是,我不知道为什么我的脚本运行得很慢。知道如何解决吗?我花了几个小时才能完成网页抓取。 :(

我的脚本中将数据写入excel的部分:

for Rows in soup:
    nCol = 1
    nRow = nRow + 1
    for Columns in Rows.findAll('div'):
        data = Columns.text
        nFound = data.find(':') + 1
        data = data[nFound:].strip()
        print(data)
        ws.cell(row=nRow, column=nCol).value = data
        nCol = nCol + 1
python beautifulsoup openpyxl
1个回答
0
投票

性能问题可能在许多不同的部分。您可以在应用程序中添加一些时间检查,以查看花费了很多时间。

例如

from datetime import datetime
start_datetime = datetime.now()

#do something in your code

diff_datetime = datetime.now() = start_datetime
print(diff_datetime)

#do something else

diff_datetime = datetime.now() = start_datetime
print(diff_datetime)

.....

如果事实证明您的问题与openpyxl有关。您可以尝试将您的工作簿创建为只写。这是openpyxl中的优化,应该有助于加快速度。另外,如果您安装了lxml,openpyxl的执行速度也会更快。以下链接详细说明了有关openpyxl的写优化。测试一下,看看它是否适合您的应用程序。

https://openpyxl.readthedocs.io/en/stable/optimized.html#write-only-mode

© www.soinside.com 2019 - 2024. All rights reserved.