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

Pythonを使用してSQLServerデータベースにcsvファイルを書き込む

    プレースホルダーの数がテーブルとCSVファイル形式に一致するように、クエリを動的に作成することを検討してください。次に、十分な?を入力したことを確認するのではなく、テーブルとCSVファイルが正しいことを確認するだけです。 コード内のプレースホルダー。

    次の例では、

    を想定しています。
    1. CSVファイルの最初の行に列名が含まれています
    2. 接続はすでに構築されています
    3. ファイル名はtest.csvです
    4. テーブル名はMyTableです
    5. Python 3
    ...
    with open ('test.csv', 'r') as f:
        reader = csv.reader(f)
        columns = next(reader) 
        query = 'insert into MyTable({0}) values ({1})'
        query = query.format(','.join(columns), ','.join('?' * len(columns)))
        cursor = connection.cursor()
        for data in reader:
            cursor.execute(query, data)
        cursor.commit()
    

    列名がファイルに含まれていない場合:

    ...
    with open ('test.csv', 'r') as f:
        reader = csv.reader(f)
        data = next(reader) 
        query = 'insert into MyTable values ({0})'
        query = query.format(','.join('?' * len(data)))
        cursor = connection.cursor()
        cursor.execute(query, data)
        for data in reader:
            cursor.execute(query, data)
        cursor.commit()
    


    1. SQLServerにUpdateストアドプロシージャを挿入します

    2. MySQL COS()関数–MySQLの数値の正弦を返します

    3. SQLServerをJavaデータベースに接続する

    4. SQLiteはNULLです