序文 昨日、小さなプロジェクトを書いていたときに、txt ドキュメントのデータを mysql データベースにインポートするという要件に遭遇しました。最初は、Mysql Workbench を使用して TXT ファイルを直接インポートしたかったのですが、結局、TXT のインポートをサポートしていないことがわかりました。その結果、TXT を Excel に変換し、Linux にインポートすると、さまざまなコード文字化けの問題が見つかりました。 プログラマーにできないことはないという理念のもと、インポート用のファイルを直接操作する Python コードを書きました。結果として、10,000 件を超えるレコードを含むファイルが作成され、インポート時間は約 2 分です。 具体的なコードは次のとおりです。
mysqlpython.py ファイル pymysql からのインポート * クラスMysqlpython: def __init__(self,データベース,ホスト="localhost", ユーザー="root",パスワード="123456", 文字セット="utf8",ポート=3306): self.database = データベース self.host = ホスト self.user = ユーザー self.password = パスワード self.charset = 文字セット self.port = ポート # データ接続とカーソルオブジェクトを作成する def open(self): self.db = connect(host=self.host, ユーザー=自己.ユーザー、 パスワード=自分自身のパスワード、 ポート=自己.ポート、 データベース=self.database、 文字セット = self.charset) self.cur = self.db.cursor() # カーソルオブジェクトとデータベース接続オブジェクトを閉じます def close(self): 自己.cur.close() 自己.db.close() # sqlコマンドを実行します def zhixing(self,sql,L=[]): 自己オープン() 自己.cur.execute(sql,L) を実行します。 自己.db.コミット() 自己.閉じる() # クエリ関数 def all(self,sql,L=[]): 自己オープン() 自己.cur.execute(sql,L) を実行します。 結果 = self.cur.fetchall() 結果を返す __name__ == "__main__" の場合: sqlh = Mysqlpython("辞書") sel = "ユーザーから*を選択" r = sqlh.all(選択) 印刷(r) importtxt.py ファイル 輸入再 インポートシステム mysqlpythonからMysqlpythonをインポート sqlh = Mysqlpython("辞書") def insert(データ): arr = データ分割() 名前 = arr[0] 説明 = " ".join(arr[1:]) ins = "単語(名前、説明) に値(%s、%s) を挿入" sqlh.zhixing(ins,[名前,説明]) get_addr() を定義します: f = 開く('./dict.txt') 行 = f.readlines() 行内の行の場合: 挿入(行) f.close() 戻る '' __name__ == '__main__' の場合: 印刷(get_addr()) dict.py ファイル (複数のファイルをコピーしました) 不確定な芸術 そろばん n. 平行棒に沿ってスライドするビーズが付いた枠。子供に数を教えたり、(一部の国では)数を数えるのに使われる。 放棄する、(人や物や場所から)立ち去る、戻るつもりがない、見捨てる、捨て去る 放棄、n. 放棄 abase v. ~ 自分自身/他人の尊厳を下げる; 自分自身/他人の品位を下げる; 恥ずかしめる、落ち着きや自信を破壊する:当惑させる abashed adj. ~ 恥ずかしい; 恥じた 軽減する、少なくする abattoir n. = 屠殺場(屠殺) 異なる区切り文字に一致するように正規表現を変更するだけです。すべてのコードはここに貼り付けられています。データベース構成をコピーして変更し、実行するだけです。 要約: 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
目次Django でのタイムゾーン設定USE_TZ=真USE_TZ=偽Linux コンテナでのタイム...
目次序文$属性例: $listeners (公式説明)使用シナリオ要約する序文複数レベルのコンポーネ...
1: masterha_check_repl レプリカ セット エラー レプリケートが構成ファイルで...
目次1. JDKをインストールする2. Jenkinsをインストールする3. Jenkinsの設定を...
目次事件の原因Node Scheduleを使用してスケジュールされたタスクを実装する1. node-...
前提条件: データベースを復元するために必要な .frm ファイルと .ibd ファイルを保存します...
最近、弁護士推薦のウェブサイトを作成していたのですが、検索ボックスに問題がありました。検索ボックス内...
目次1. 短絡や条件文の代わりにデフォルトのパラメータを使用する2. 複数の条件の処理3. スイッチ...
最近のプロジェクトでは、ブレークポイントからビデオの再生を再開する機能を実装する必要がありました。こ...
この記事では、VMware Workstation14 ProにUbuntu 16.04をインストー...
目次インストールルーティングの基本構成Vue にルーターをインストールするルーターの設定Router...
目次1. はじめに2. 利点3. 使用手順1. Vuexをインストールする2. Vuexを参照する3...
MySQLはレプリケーションフィルターを動的に変更します今日遭遇した問題についてお話しします。今日は...
0. 準備: • iTunesを閉じる• タスクマネージャーでiTunesから始まるサービスを終了し...
目次1. HTTP範囲リクエスト1.1 範囲構文2. 大きなファイルをダウンロードする方法2.1 補...