sql >> データベース >  >> RDS >> PostgreSQL

スクレープされたテーブルデータをPostgreSQLデータベースに直接挿入します

    colsだと思います テーブルに表示した順序で5つの要素が含まれます。それ以外の場合は、インデックスを調整します。

    import csv
    import urllib.request
    
    from bs4 import BeautifulSoup
    
    conn = psycopg2.connect(database='--', user='--', password='--', port='--')
    cursor = conn.cursor()
    soup = BeautifulSoup(urllib.request.urlopen(
        "http://tis.nhai.gov.in/TollInformation?TollPlazaID=236").read(), 'lxml')
    tbody = soup('table', {"class": "tollinfotbl"})[0].find_all('tr')
    for row in tbody:
        cols = row.findChildren(recursive=False)
        cols = [ele.text.strip() for ele in cols]
        if cols:
            vehicle_type = cols[0]
            one_time = int(cols[1])
            return_strip = int(cols[2])
            monthly_pass = int(cols[3])
            local_vehicle = int(cols[4])
    
            query = "INSERT INTO table_name (vehicle_type, return_strip, monthly_pass, local_vehicle) VALUES (%s, %s, %s, %s, %s);"
            data = (vehicle_type, one_time, return_strip, monthly_pass, local_vehicle)
            cursor.execute(query, data)
    
    # Commit the transaction
    conn.commit()
    



    1. 複数の選択されたチェックボックスからデータベースに値を挿入する

    2. OracleAppsのJAVA/JREに関する上位の質問

    3. plpgsqlの配列次元をループします

    4. MySQLクエリ、MAX()+ GROUP BY