繁体   English   中英

尝试使用 Openpyxl 将数据写入 xlsx 表时出现 ValueError

[英]ValueError when trying to write data to xlsx sheet using Openpyxl

我正在尝试使用 openpyxl 将输出的社交媒体链接保存到 excel 文件,但出现以下错误:

Traceback (most recent call last):
  File "/Users/xxxx/_Main_.py", line 40, in <module>
    sheet.cell(cell.row, col2).value = ig_get_present
  File "/Users/xxxx/venv/lib/python3.10/site-packages/openpyxl/cell/cell.py", line 215, in value
    self._bind_value(value)
  File "/Users/xxxx/venv/lib/python3.10/site-packages/openpyxl/cell/cell.py", line 184, in _bind_value
    raise ValueError("Cannot convert {0!r} to Excel".format(value))
ValueError: Cannot convert ['https://www.instagram.com/xxxx/'] to Excel

这是导致它的代码,不知道它为什么会发生。

column_name = 'URL'
column_name2 = 'Instagram'

headers = [cell.value for cell in sheet[1]]

col = get_column_letter(headers.index(column_name) + 1)

col2 = headers.index(column_name2) + 1

for cell in sheet[col][1:]:
    url = cell.value
    r = requests.get(url)
    ig_get = ['instagram.com']
    ig_get_present = []
    soup = BeautifulSoup(r.content, 'html5lib')
    all_links = soup.find_all('a', href=True)
    for ig_get in ig_get:
        for link in all_links:
            if ig_get in link.attrs['href']:
                ig_get_present.append(link.attrs['href'])
    sheet.cell(cell.row, col2).value = ig_get_present

将数据转换为字符串解决了我的问题。

ig_got = str(ig_get_present)
sheet.cell(cell.row, col2).value = ig_got

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM