序文 昨日、小さなプロジェクトを書いていたときに、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 を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
序文:グループ化関数はグループ内の最初のデータを取得しますが、各グループ内の最新のデータを取得する必...
CentOS 7にPostgreSQL 11をインストールする PostgreSQL: 世界で最も先...
forループを使用してZabbixイメージをコンテナにインポートします。 n を `ls *.tar...
昨日は遅くまで寝ていて、一日中起きていました。私の年齢では、夜更かしして本を書くのはもう無理のようで...
Linuxシステムをお持ちでない場合は、ダウンロードとインストールについてはhttps://www....
Web ページ制作では、input と img が同じ行に配置されることが多く、img タグが常に ...
表では、左上の境界線の色を個別に定義したり、セルの右下の境界線の色を定義したりできます。これら 2 ...
崇高なSublime Text はコード エディター (Sublime Text2 は有料ソフトウェ...
Ubuntu 18のインストール中に、USBディスクからUbuntuのインストールを開始すると、mm...
序文MySQL 8.0 の最新バージョンは 8.0.4 rc であり、正式版は近日中にリリースされる...
序文特に bash 環境では、スクリプトの実行方法によって結果が異なります。スクリプトを実行する方法...
mysqldump バックアップは、その独自の特性 (テーブルのロック、基本的に挿入スクリプトまたは...
この記事の例では、画像切り替え効果を実現するためのVueの具体的なコードを参考までに共有しています。...
まず、方法を理解します。 docker exec を使用して Docker コンテナに入るDocke...
インデックスのマージは、MySQL が最下層で提供するインテリジェントなアルゴリズムです。インデック...