[python] csv をsql serverへ登録する方法(シンプルだが速度が遅い)

inno
2025-08-06 09:39 69 0
#このコードは、SQL Serverに接続して、指定されたCSVファイルの内容をテーブルに追加します。
#もしテーブルが存在しない場合は、新しく作成されます。
#処理されることを確認したら1件ずつ登録しているので処理速度がかなり遅い。


import pandas as pd
import numpy as np
from datetime import datetime



if __name__ == "__main__":


    file_path = f'c:/temp/test.csv'


    # CSV 読み込み時に指定したカラムだけ読み込み。
    df = pd.read_csv(file_path)
   


    #df["upc"] = df["upc"].astype(str)
    #df['sales_country_code'] = df['sales_country_code'].fillna("NA") # 実際の値が「NA」の場合、pythonが NaN に変換され DBに null として登録されるので、文字列 "NA"として渡すようにこの処理を行う。
        #df = df.head(2)
    #print(len(df))
    #print(df.head(2))

    print(file_path)

    from sqlalchemy import create_engine

    connection_string = 'mssql+pymssql://id:pw@localhost/testdatabase'

    engine = create_engine(connection_string)

    table_name = f'test_tablename'

    df.to_sql(name=table_name, con=engine, schema='dbo', if_exists='append', index=False)


    #このコードは、SQL Serverに接続して、指定されたCSVファイルの内容をテーブルに追加します。
    #もしテーブルが存在しない場合は、新しく作成されます。   
    #処理されることを確認したら1件ずつ登録しているので処理速度がかなり遅い。
    

コメント