AttributeError: 'list' object has no attribute 'split'. Python, splitting list into .csv cells by linebreak

AttributeError: 'list' object has no attribute 'split'. Python, splitting list into .csv cells by linebreak

我正在尝试将列表拆分为单独的单元格。

但是,没有分隔列表的逗号分隔符,只有一个换行符。

我已经阅读了一些具有相同属性错误的其他帖子,但仍然没有弄清楚我哪里出错了。

我的相关代码:

from selenium import webdriver

ChromeOptions = webdriver.ChromeOptions()
driver = webdriver.Chrome('/Users/jones/Downloads/chromedriver')

driver.get('https://www.linkedin.com/in/pauljgarner/')

rows = []

name = sel.xpath('normalize-space(//li[@class="inline t-24 t-black t-normal break-words"])').extract_first()
experience = driver.find_elements_by_xpath('//section[@id = "experience-section"]/ul//li')

rows.append([name])
for item in experience:
    rows[0].append(item.text)
    print(item.text)
    print("")

with open(parameters.file, 'w', encoding='utf8') as file:
    writer = csv.writer(file)
    for row in rows:
        writer.writerow(row.split('\n'))

列表来自抓取'experience':

Freelance Python Developer
Company Name
Depop
Dates Employed
Jun 2015 – Present
Employment Duration
4 yrs 11 mos

我的代码的最后四行看起来应该可以解决问题,但我却收到了属性错误。我哪里错了?非常感谢您的帮助

更新: 理想的 excel 输出:

当前excel(尝试解决方案):

你得到这个错误是因为 rows 总是一个只有一个元素的列表,它也是一个列表。 splitstr 实例而非列表的方法。 您可以看到是这种情况,因为您只 append 第一个元素:

for item in experience:
    rows[0].append(item.text)

您可以通过将 rows 构造为字符串列表来简化您的代码:

rows = [name]
for item in experience:
    rows.append(item.text)

现在,您的 CSV 编写器将按您预期的方式工作。