序文 昨日、小さなプロジェクトを書いていたときに、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 を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
1. 質問:最近、挿入操作を行っています。MySQLのバージョンは5.7です。挿入は成功しますが、エ...
1. Apache 2.4.41 のインストールと設定最初のステップは、以下に示すように、https...
1. インストール前の準備1. 公式ウェブサイトからUbuntu 20.04のイメージファイルを直接...
forループを使用してZabbixイメージをコンテナにインポートします。 n を `ls *.tar...
一般的に、マウスは上向きの斜め矢印として表示され、テキストの上に移動すると垂直線になり、ハイパーリン...
1. 複数の国境[1]背景: ボックスシャドウ、アウトライン使用シナリオの多様性を考慮すると、複数の...
1. mysqldump バックアップ方法では論理バックアップが使用されます。最大の欠点は、バック...
MySQL では、ソートには order by を、ページングには limit をよく使用します。最...
目次Vue CLIはVueプロジェクトを構築しますVue プロジェクトをマークダウン エディターに変...
序文Linux システムのパフォーマンスを監視するために使用できるオープンソースの監視ツールが市場に...
目次day.js を使用する理由モーメントデイ.js day.js がなければどうなるでしょうか? ...
目次序文1. 現在の時刻を取得する1.1 現在の日付と時刻を返す1.2 現在の日付を取得する1.3 ...
この記事では、JavaScriptで簡単なGobangゲームを実装するための具体的なコードを参考まで...
1. 説明前回は、MySQL のインストールと構成、MySQL ステートメントの使用、MySQL デ...
Vue プロジェクトを開発する場合、さまざまなコンポーネント ページを表示するために切り替えることが...