序文 昨日、小さなプロジェクトを書いていたときに、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 を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
どの for ループまたは反復子がニーズに適しているかを知ることで、アプリケーションのパフォーマンス...
クイックリーディングSQL ステートメントを監視する必要があるのはなぜか、監視方法と監視手段について...
サブクエリの分類返された結果セットによる分類サブクエリは、返される結果セットの違いに応じて、テーブル...
MySQL 5.7 を新しくインストールしました。ログインすると、パスワードが間違っているというメッ...
MySql インデックスインデックスの利点1. 一意のインデックスまたは主キー インデックスを作成す...
私はかなり昔に CSS に触れましたが、フローティングについてはいつも混乱していました。私の理解が浅...
https をサポートしていない Web サイトは、ブラウザによって徐々に安全でないとマークされるた...
序文「データベース トランザクションの特徴は何ですか?」と尋ねられたら、 ACID 特性である原子性...
目次1. オプションとは何ですか? 2. 含まれる属性3. エントリー属性エルデータ方法コンポーネン...
IOSデータベースアップグレードデータ移行の詳細な例まとめ:昔、データベースのバージョン アップグレ...
MySQL を使用する場合、多くの開発者は一部の列に対して関数計算を実行することが多く、その結果、イ...
エラーメッセージ:エラー 1862 (HY000): パスワードの有効期限が切れています。ログインす...
最初のステップは、対応するデータベースモジュール(sql)をプロジェクトファイル( .pro )に追...
htmlコードをコピーコードは次のとおりです。 <SPAN class=tag><...
概要Docker 自体の現在のデフォルト ネットワークについては、単一ホスト上の異なる Docker...