【问题标题】:Iterating over excel, sitemap with Python使用 Python 遍历 excel、站点地图
【发布时间】:2019-10-13 00:41:13
【问题描述】:

我有一个存储在 excel 中的站点地图。我想遍历每个链接并将网站的文本写入文本文件。循环部分,编写文本内容,工作,但不是手动插入每一页,我想制作一个公式来遍历工作表

只有A列,A1有一个url,A2有下一个url,以此类推

我在 Spyder 和 Anaconda 工作,显然我对此很陌生。尽管有训练营,这可能是我可以在工作中实际使用的第一个项目。我结合了各种在线练习,努力学习正确的语法

import urllib.request
from inscriptis import get_text
import openpyxl
from openpyxl.utils import cell as cellutils
workbook = 
openpyxl.load_workbook"C:\Users\Gittel\Desktop\sitemappages.xlsx"
worksheet = workbook.active
for cell in worksheet.col[1]:
    url = cell.value
    html = urllib.request.urlopen(url).read().decode('utf-8')
    text = get_text(html)
    file=open("(url).txt","w")
    file.write(text)
    file.close()

错误消息包括用于识别 Excel 文件的错误语法。我不确定我是否也正确设置了迭代。我希望单元格为每次迭代添加 1(或转到下一行),但我不知道该怎么做。

【问题讨论】:

  • 在工作簿路径周围添加括号:openpyxl.load_workbook("C:\Users\Gittel\Desktop\sitemappages.xlsx")

标签: excel python-3.x url iteration writing


【解决方案1】:

您缺少 load_workbook 的括号。试试下面的:

workbook = openpyxl.load_workbook(r"C:\Users\Gittel\Desktop\sitemappages.xlsx")
worksheet = workbook.active

for cell in worksheet.iter_rows(values_only=True):
    url = cell[0]
    print(url)

另外,如果你只使用excel来存储字符串,我建议你只使用纯文本文件。

【讨论】:

  • 嗨。所以我的新代码现在是这样的: import urllib.request from inscriptis import get_text import openpyxl from openpyxl.utils import cell as cellutils workbook = openpyxl.load_workbook("C:\Users\Gittel\Desktop\sitemappages.xlsx") worksheet = workbook .active 用于 worksheet.iter_rows(values_only=true) 中的单元格: url = cell[0] print(url) html = urllib.request.urlopen(url).read().decode('utf-8') text = get_text (html) file=open("(url).txt","w") file.write(text) file.close() 我在 excel 部分仍然出现错误:
  • " 文件 "C:/Users/Gittel/Desktop/另一个版本的 spyder.py",第 5 行工作簿 = openpyxl.load_workbook ("C:\Users\Gittel\Desktop\sitemappages.xlsx" ) ^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape"
  • 问题是你的文件路径,你有 C:\Users 和 \U 开始一个八字符的 Unicode 转义。为防止这种情况,请在文件路径前加上 r 以生成原始字符串(请参阅编辑后的答案)。
  • 谢谢!我会试试的。
  • 我不确定它是否有帮助,我现在有一个新错误:文件 "F:/CRM/check excel.py", line 7, in for cell in worksheet.col [1]: AttributeError: 'Worksheet' 对象没有属性 'col'
猜你喜欢
  • 2022-12-06
  • 1970-01-01
  • 1970-01-01
  • 2019-10-18
  • 1970-01-01
  • 2019-07-31
  • 2011-03-23
  • 1970-01-01
相关资源
最近更新 更多