Python 您能在SQL中为一列写入选择器列表吗?
首先,我不是一名IT专业人士/学生,我只是在学习编程和数据,所以如果你认为这个问题没有很好地表达出来,我很抱歉 我正在做一个爱好项目,了解python和使用selenium处理数据。我正试图从我的linkedin页面开始,先填充一个关系数据库,然后用数据填充我的简历。我在将数据写入数据库时遇到问题。当我使用extract_first()或get()时,数据可以很好地写入数据库。但是,当我使用extract()或getall()时,会收到错误消息“操作数应包含1列”。我认为这意味着作为输出的选择器列表将作为不同的行写入数据库,而不是写入数据库中的同一行?但我希望完整的选择器列表被写入同一列和同一行 我尝试将selectorlist转换为字符串(请参见下面的代码),但这会提供与selectorlist相同的输出Python 您能在SQL中为一列写入选择器列表吗?,python,string,list,selenium,join,Python,String,List,Selenium,Join,首先,我不是一名IT专业人士/学生,我只是在学习编程和数据,所以如果你认为这个问题没有很好地表达出来,我很抱歉 我正在做一个爱好项目,了解python和使用selenium处理数据。我正试图从我的linkedin页面开始,先填充一个关系数据库,然后用数据填充我的简历。我在将数据写入数据库时遇到问题。当我使用extract_first()或get()时,数据可以很好地写入数据库。但是,当我使用extract()或getall()时,会收到错误消息“操作数应包含1列”。我认为这意味着作为输出的选择器
jobs= sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall()
jobs= [str(jobs[0]), str(''.join(jobs[1:]))]
提供与相同的输出
jobs= sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall()
输出
['job1', 'job2']
我希望输出为字符串:
['job1, job2']
因此,我可以将其写入数据库的一列(作业)。因此,列ID的值为1(对于人员1),列jobs的值为'job1,job2'对于ID 1
这可能吗?非常感谢。请尝试以下代码。希望这能起作用。它会将值提取到列表中,然后加入列表项
jobs=[job.text for job in driver.find_elements_by_xpath('//*[starts-with(@class, "t-16 t-black t-bold")]')]
finaltext=','.join(jobs)
请尝试以下代码。希望这能起作用。它会将值提取到列表中,然后加入列表项
jobs=[job.text for job in driver.find_elements_by_xpath('//*[starts-with(@class, "t-16 t-black t-bold")]')]
finaltext=','.join(jobs)
由于您希望输出显示为字符串
,因此可以将输出(列表)传递给方法进行转换,如下所示:
- 代码块:
def convert_list_to_string(jobs): new = "" for item in jobs: new += item return new def main(): jobs = sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall() print(convert_list_to_string(jobs)) main()
jobs = sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall() print(','.join(jobs))
- 控制台输出:
job1job2
job1,job2
,
字符,可以使用以下解决方案:
- 代码块:
def convert_list_to_string(jobs): new = "" for item in jobs: new += item return new def main(): jobs = sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall() print(convert_list_to_string(jobs)) main()
jobs = sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall() print(','.join(jobs))
- 控制台输出:
job1job2
job1,job2
字符串时
可以将输出(列表)传递给一个方法进行转换,如下所示:
- 代码块:
def convert_list_to_string(jobs): new = "" for item in jobs: new += item return new def main(): jobs = sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall() print(convert_list_to_string(jobs)) main()
jobs = sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall() print(','.join(jobs))
- 控制台输出:
job1job2
job1,job2
,
字符,可以使用以下解决方案:
- 代码块:
def convert_list_to_string(jobs): new = "" for item in jobs: new += item return new def main(): jobs = sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall() print(convert_list_to_string(jobs)) main()
jobs = sel.xpath('//*[starts-with(@class, "t-16 t-black t-bold")]/text()').getall() print(','.join(jobs))
- 控制台输出:
job1job2
job1,job2