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
总是一个只有一个元素的列表,它也是一个列表。 split
是 str
实例而非列表的方法。
您可以看到是这种情况,因为您只 append
第一个元素:
for item in experience:
rows[0].append(item.text)
您可以通过将 rows
构造为字符串列表来简化您的代码:
rows = [name]
for item in experience:
rows.append(item.text)
现在,您的 CSV 编写器将按您预期的方式工作。
我正在尝试将列表拆分为单独的单元格。
但是,没有分隔列表的逗号分隔符,只有一个换行符。
我已经阅读了一些具有相同属性错误的其他帖子,但仍然没有弄清楚我哪里出错了。
我的相关代码:
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
总是一个只有一个元素的列表,它也是一个列表。 split
是 str
实例而非列表的方法。
您可以看到是这种情况,因为您只 append
第一个元素:
for item in experience:
rows[0].append(item.text)
您可以通过将 rows
构造为字符串列表来简化您的代码:
rows = [name]
for item in experience:
rows.append(item.text)
现在,您的 CSV 编写器将按您预期的方式工作。