PythonはCSVファイルを読み込むとMySQLに保存されています

テストプロジェクトの背景には、多くの場合、データベース内のデータを追加するために遭遇し、どのように迅速にそれの効率を向上させるためにデータを追加するには?

次のように今すぐに要約:

ソースコンテンツ(csv_to_mysql.py):

#コーディング= UTF-8 
インポートpymysqlの

FILE_PATH = "たExport.csv"
TABLE_NAME = "輸出"
してみてください。
CON = pymysql.connect(ユーザー= "ルート"、
passwdの= "123456"、
デシベル= "TEST01"、
ホスト= "localhostを」
local_infile = 1)
con.set_charset( 'UTF8')
CUR = con.cursor()
cur.execute( "名UTF8を設定")
"); cur.execute(" = UTF8 SETのcharacter_set_connectionに

オープン(FILE_PATH、R」と:F」として、符号化= 'UTF8')
リーダー= F。readlineの()
印刷(リーダー)
#リスト作っ
devide reader.split =( '')
は、最後の改行を削除
devide [-1] = devide [-1] .rstrip( '\ N-')
印刷(devide)

列= ''
DDのdevide用:
タイトルが長い場合は、テキスト形式として保存することができます#
もしDD ==「タイトル「:
列=列+ DD + 'TEXT'
他:
列=列+ DD + 'VARCHAR(255)、'

過剰、の#削除は、最後の
COL = column.rstrip( '')
:#印刷(列[ -1])

create_table_sql = 'はありませんが存在する場合は、表を作成し、{}({})= CHARSET utf8'.format DEFAULT(TABLE_NAME、COL)
プリント(create_table_sql)
データ=' LOCAL INFILE LOAD '+ + FILE_PATH' DATAの\ '\'テーブルにREPLACE「+ TABLE_NAME + \
「\ BY ENCLOSED '\ '\ BY終了文字SET UTF8 FIELDS'、\ "\' \ BY TERMINATED LINESは'\ n \' 1行を無視します; '
cur.execute(create_table_sql)
cur.execute(data.encode( 'UTF8'))
プリント(cur.rowcount)
con.commit()
を除く:
印刷( "发生错误")
con.rollback()

最後に:
cur.close( )
con.close()

結果:

 上記の例では、ローカルデータベースに基づいているため、実際の作業は、あなたのニーズに合わせてデータベース接続とSQLステートメントを変更することができます

おすすめ

転載: www.cnblogs.com/wanyuan/p/11783112.html