学習モジュール005記録/書き込みエクセル/データベース操作

[モジュールの概念]

モジュールを担持するPythonは、Pythonの中に直接装着されている---->標準モジュールは、時間等のOSとして、使用することができます

2サードパーティ製のモジュール----> pymysalにインストールする必要があります

3独自のPythonのファイルを書く----> Pythonのファイルがモジュールであります

4物質モジュールを注ぐ---->再度実行するために最初から最後まで、モジュールファイルを注ぐことです

---->モジュールに注いだが、最初のエラー電流経路に見えますし、そうでない場合、その後見つけるためのpython環境変数ファイルのディレクトリを、そうでない場合は5つのモジュールの順番を注ぎます

 ビューのpythonパス環境変数います:

インポートSYS
 印刷(のsys.path)  見るPython環境変数のパス、モジュールに長いものがあるとして、ここでエラーはない、それはエラーになりませんでしょう

モジュールを見つけるために6 pycharmツールは、現在のディレクトリに見ていないので、赤のモジュールモノグラムは、現在のパスに注ぎますが、使用には影響しません。

7つのシーンは、二つのプロジェクトがあり、AとBの次のプロジェクトは、ファイルインポートモジュールを実行する必要がBの下ではありませんが、以下、そのモジュールはPythonのパスに現在の環境ではありません注ぐする必要はありません。内部変数が、別のファイルパスに、どのようにそれを解決するには?

  次のようにコードで実装され、現在、Pythonの環境変数内に追加属するファイルパスモジュールを注ぐ二つの方法を追加する必要があります:

インポートSYSの

ここでは、あなたが追加する必要があり、それを見つけるために、後者が必要な場合は、1回を追加する 
sys.path.appendを(ここでは、ファイルパスモジュールを注ぐ必要が現在属している)#追加する第一の方法、この方法は、Python環境変数ファイルの最後の位置に追加される追加
sys.path.insert(0、R&LT ここでは、ファイルパスモジュールを注ぐ必要性が現在属している第二の方法は、添加されるが、さリストには、最初の検索を追加する場所の内部で出力パスを指定します

8どのコードファイルの"if__name __ == '__ MAIN__' "

その行に独自のファイルのコードを書いた:影響を受けずに実行します

他のモジュールは、このコード行のみセクション上記のコードの行を実行されていない以下の内容を実行する際に、現在のファイルをかけないでください

[操作]のmysql

インポートpymysql 

以下の情報がデータベースに必要に接続されている
#のdbのユーザーパスワードIPポート166.25.3.55 3306 ZZZ ZZZの123456 



接続を確立するために:最初のステップ 
でCONN = pymysql.connect(ホスト= 166.25.3.55 」を =、ユーザーZZZ 、パスワード= 123456 、デシベル= ZZZ 
                       ポート = 3306、文字コード= UTF8 、真の自動コミット=)   最後の1を追加した後、削除することができコミット以下、役割が自動的に送信されます注:パスワードは、デフォルト値の持っている、ポートを書き込むことができない文字列、あまりにも整数ポートでなければなりません

CURをConn.cursor =(pymysql.cursors.DictCursor) カーソル確立


#の前に10のデータをデータベース内のビューを 
SQLが= SELECT * app_student限界から10 


この操作を以下は、データベースのSQLコマンドにデータを追加することである
#1 」= SQL1 ( `NAME`、` sex` app_studentを挿入し 、 `age`、` addr`、 `grade`、` phone`、 `gold`)の値( ' のような郭'、 'F'、 '26'、「河南济源市、32ノースアベニュー、 ''アクエリアス、'18、631706666' 、 '100'); " 


cur.execute(SQL)   唯一のあなたは、SQL文を実行することができますではなく、出力することができますconn.commit()#は、IF DELET文または更新文または文が、その後、データベースの操作は約コミットする必要があるときに挿入される

印刷(cur.fetchall())    は、SQL文の実行の結果を取得し、2次元配列(())を返します
#の印刷を(CURが。いずれかfetchone())#は、データをフェッチ、リターンの一次元アレイ() プリント(cur.fetchmany(10))#デジタル内部データの数に応じて撮影することができ、二次元アレイの戻り
()cur.close 
はconn.close()

 

エントリに注意してください。

接続が確立されると、ユーザー名とパスワードは、文字列として入力する必要があります;ポートは、デフォルト値があるので、書き込むことはできません整数でなければなりません。

トゥルー2コードaotucommit =:データベースの役割は----操作を挿入または削除するよう、自動的に提出され、結果がユーザーに返さコーディングする操作しました

SQLステートメントの結果を記憶し、ユーザ・データ・バッファを設定する:カーソルの確立に3

  cur.close()はconn.close():カーソルの最後の確立が第一カーソルとの接続を閉じる必要があり前回

内部カーソル内の4実行結果、SQLコマンドを実行します。cur.execute(SQL文)は、唯一のステートメントを実行することができますが、結果を得ることができません

5あなたは結果を取るのであれば、我々は出力する必要性が、出力は "====出力の三つの形式に分けることができます

  001プリント(cur.fetchall())#取得結果のSQLステートメントが実行され、返される結果は、二次元配列である:[()]タプルタイプ

  002プリント(cur.fetchone())#出力実行結果最初のデータのSQLステートメントに、単にリターンを取ること:(一次元アレイです)

  003プリント(cur.fetchmany(2))#戻り値のデジタルストリップ番号内部SQLステートメントの結果に応じて行うことができ、リターンは、二次元アレイであります

約6コード:conn.commit():、それは接続のためにコミットする必要がある場合、削除などの操作、あなたが挿入または更新操作がデータベースに対して実行されている場合は、データベースの更新操作の目的に言及

  それは初めにあった場合は、接続するとき:aotucommit = Trueの操作は、これらの言葉は、両方で一貫性のある役割を記述する必要はありませんが、前者は自動的に実行するために再び提出される、提出されます

7出力のみ、SQLを実行することができ

エラーメッセージが表示されている場合8、時間内のコードの実行結果を参照してください:あなたはあなたのSQL構文でエラーメッセージのエラーを持って、SQL構文エラーがあります

実行の出力がないとき9 SQL文の実行には、挿入、更新、およびその他の記述を削除します

あなたが出力したい場合は10の結果は辞書型であり、それはある出力形式を指定しますか?

   pymysql.cursors.DictCursorへ:カーソルの確立は、カーソルの種類を指定した場合

[分類]インストールモジュール

ダウンロードしてインストールするには、ネットワーク接続、次のコマンド入力端子の存在下で、サードパーティのモジュール、: 1 PIPモジュールのインストール
#のネットワーク接続なしマニュアルのインストールを:   .whl 1ファイルのダウンロード        PIPは、ファイルをインストールしますダウンロードパス
#は、例えば:私は、端末に続く、は、PyPIのソースをダウンロードするには、サードパーティのモジュールをインストールしたい:+絶対パスをインストールPIPあなたはにモジュールをインストールしたい   2のダウンロードは.tar.gzファイル        1解凍        、Pythonの実行ディレクトリにsetup.py installを2 
#を例:たとえば、あなたがインストールしたいpymysql.tar.gzのは、PyPIソースのダウンロードファイルには、すべての最初の抽出物の最初の、そして、ターミナルで解凍したディレクトリを入力してください入力します:pythonセットアップを。 PY缶インストール



#のシーンを:あなたのpythonを再インストールするには、コンピュータを変更した場合、あなたはまた、あなたが簡単に閲覧するためにエクスポートするインストールを表示するには、次の方法を使用することができるモジュールモジュール、再インストールする必要があるので、
#は、現在インストールされているモジュールを参照
#1 端子入力を:ピップをリスト多く、+より缶の表示パイプ記号で参照するには一つ一つの場合:リストピップ|詳細


モジュールが現在リストされた文書に第三者インストール:
#は、端末の位置を見て、直接パスで動作PIPフリーズ>ここではファイルの名前を、例えば:サードパーティのモジュールの.text ----- >これは、ファイルとそれに対応するバージョン番号の記載されているサードパーティのモジュールまでつながる
#のシナリオ:あまりにも記載されている場合はどう、まだ手動でインストールするには、コマンドを入力する必要があり、その後の時間に便利な方法がありませんすべてのモジュール内部文書がインストールされていますその上に?PIPでモジュールをインストールするには、ファイル名、ファイル名#指定されたファイルをファイル名-rバッチファイルをインストールします

 [オペレーティングテーブル - 読み取り専用]

インポート xlrdの    #は、読み取り専用で書き込みは不可:必要なフォームが読み込みモジュールに注がれ


(= xlrd.open_workbookを「人材リストの.xlsx オープン表:直接現在のディレクトリ内のファイル入力ファイル名がなる場合は、そうでない場合は現在のディレクトリ内に絶対パスを入力します 
Sheet1のbook.sheet_by_index =(0)        におけるシート現在のページを取得するために添字シートのページによると 
Sheet2の= book.sheet_by_name(仕事を#は、名前のシートのページにもに基づくことができます現在のページこれでシートを得る

印刷(sheet2.row_values(0))   データシートの列の現在のページ番号を取得
印刷(sheet2.col_values(0))   現在のページ番号欄のデータシートを取得する
印刷(sheet2.cell(2、 1).Valueの)    添字シート入力行と列を取得し、所望のセル出力の場所を指定します


印刷(sheet2.nrows)   は、シートのページの行数を取得します
印刷(sheet2.ncols)   どのように多くの列シートのページを取得します

[オペレーティングテーブル - 書き込み専用]

インポート xlwtの    #は、唯一の新しいテーブルのために書くことができ


ブック = xlwt.Workbook()    新しいExcel作成 
= book.add_sheet(シートスタッフリスト新しいシートのページの作成 
sheet.write(0、0、名前を
sheet.write( 1,0、" 郭等" 
sheet.write(0、 1、" 学習の形態" 
sheet.write( 1、1、" サイト" 
sheet.write(0、 2、" テスト" 

book.save(学生。XLS" 私はここに書くには、現在のディレクトリからの相対パスである、あなたはまた、ファイル名がここに書かれている、絶対パスを書くことができますあなたが使用XLSの上で、マイクロソフトのオフィスを使用している場合は、最後に、保存されたときに場合WPS、.XLSまたは.xlsx形式の末尾の使用について

[操作テーブル - 修正]

#のコンテンツ内の表、内部のデータを変更したり、追加
のインポートxlutils、xlrd
 から xlutils インポートコピー    #は、ファイルから関数を注ぐ

#のアイデア:1オープンテーブル2は、コピーする必要があります3の修正

ブック = xlrd.open_workbookを(列挙機能007演習の.XLS 最初のオープンテーブル 
new_book = copy.copy(書籍)    #は、上のファイルのコピーに基づいて変更され、負の値は、持っている必要があります


#がどの添字シートページを取得します以下、次の; 第二に、あなたはまた、なぜそれを.sheet_by_indexこのメソッドを使用しないで、添字ページに係るシートを見ることが?new_bookはxlutilsにこのモジュール、コピーメソッドを使用しているのでとxlutilsなし.sheet_by_indexこの方法を、この方法は.getsheetた 
シートを=new_book.get_sheet(0)

タイトル = [ いいえ住所電話番号セックス ]    あなたがリストとしてテーブルに追加したいもの
のために、インデックス、値列挙(タイトル):
    sheet.write(0、インデックス、値)


new_book.save(" 列挙機能007演習.XLS "最後に保存され、あなたは同じ名前を付けることができます

 

おすすめ

転載: www.cnblogs.com/guodengdeng/p/11080453.html