格式化Python列表以一次将许多行插入Postgres

时间:2019-04-20 21:18:52

标签: python postgresql

我建立了一个网络抓取器,该抓取器从网站上获取一些数据并以适合我需要的方式对其进行编辑。我现在面临的问题是尝试格式化数据,以便可以将其全部有效地插入Postgres数据库中。

这是用于编辑数据的代码。

def get_course_info():
    url = driver.current_url
    response = requests.get(url, headers = headers)
    soup = BeautifulSoup(response.content, 'html.parser')
    course = soup.find_all('p')
    course_code = course[0].text[3:][:9]
    course_cat = course[0].text[3:][:4]
    course_num = int(course[0].text[8:][:4])
    course_name = course[0].text[22:]
    course_desc = course[3].text
    results = soup.findAll("td", {"valign": "TOP","width" : "15%"}) 
    .[1::2]
    list_instruct = [x.text.replace('\xa0',' ') for x in results]
    list_instruct = filter(lambda name: name.strip(), 
    list_instruct)
    final = list(set(list_instruct))
    time_created = datetime.now().strftime('%B, %d, %Y %I:%M %p')

我试图做的是以下事情:

    course_data = ('{}'.format(course_code), 
    '{}'.format(course_cat), 
    '{}'.format(course_num), '{}'.format(course_name), 
    '{}'.format(course_desc), '{}'.format(final), 
    '{}'.format(time_created))
    course_data_arr.append(course_data)

问题是我想将final / list_instruct的内容保存在一个数组中,因为这正是数据库所期望的。

以下是插入数据库的代码:

inserting = ("INSERT INTO courses (code, category, number, name, 
description, instructors, updated_at) VALUES (%s, %s, %s, %s, %s, 
%s, %s)")

有人对如何有效地执行此操作有任何想法吗?

0 个答案:

没有答案