エクセルテーブルのデータをpostgresqlのデータベースにインポートする方法
実務では、統計データの作業によく出くわします。ある次元の統計データは、仕事の関係で、異なる部門がレビューするためにレポートの添付ファイルとしてエクセルにエクスポートする必要があります。後で比較作業を容易にするために、リーダーは、具体的にこれらのデータを記録するためのデータベース内のテーブルを作成するようになります。この時点で、我々はDBAは、データベースにこれらのExcelのテーブルをインポートする必要がある、コピーして、 \copyコマンドは、私たちにソリューションを提供し、この記事では、主にコピーコマンドの使用を通じて、どのようにデータベースにExcelのテーブルをインポートするために紹介することです。copyコマンドとecopyコマンドの違いについては、ブロガーの皆様に別の記事を参照してください。 どのようにpostgresqlデータベースのテーブルからExcel形式にデータをエクスポートする ¦コピーコマンドの違いは、別の記事「PostgresqlのデータベースのテーブルからデータをExcel形式にエクスポートする方法」で見ることができます。
1、コピーの基本構文
COPY { table name [ ( column name [, ...] ] ) ]
from { 'filename' | PROGRAM 'command' | STDIN }
[ [ WITH ] ( options [, ...] ) ) ]
Options can be one of the following
FORMAT format_name
FREEZE [ Boolean]
DELIMITER 'separator character'
NULL 'empty string'
HEADER [ Boolean ]
QUOTE 'quote character'
ESCAPE 'escape character'
FORCE_QUOTE { ( column name [, ...] ) ) | * }
FORCE_NOT_NULL ( column name [, ...] ) )
ENCODING 'encoding_name(encoding name)'
2. パラメータの意味の紹介
FORMAT:コピー先のファイルの種類、例:CSV、TEXT。
FREEZE : データをフリーズさせ、VACUUM FREEZEを実行します。
DELIMITER : デリミタは、ファイルをエクスポートする際にシングルクォートが必要であることを指定します。デフォルトは、TEXTファイルではタブ、CSVファイルではカンマです。バイナリファイル形式には対応していません。
HEADER: ファイルにコピーする際にテーブルのフィールド名を持ってくることを意味します。
NULL:NULL 値を指定します、デフォルトは \N です。
QUOTE: CSVモードでの引用文字を宣言します。デフォルトはダブルクォートです。
ESACPE:エスケープ文字を指定します。デフォルトはQUOTE値(通常はダブルクォート)です。
ENCODING ファイルのエンコーディングを指定します。指定しない場合、クライアントの文字セットがデフォルトで使用されます。
3. 使用例
エクセル表を編集し、テストデータを入力し、csv 形式で保存します。
エクセルテーブルをデータベースサーバーにアップロードし、テーブルのフィールドを基に対応するテーブルを作成します。
postgres=# create table movie_star(user_id int,user_name varchar(100),age int,gender text,address varchar(100),mark text);
CREATE TABLE
postgres=#
postgres=#
postgres=# postgres=#
postgres=# select * from movie_star ;
user_id | user_name | age | gender | address | remark
---------+-----------+-----+--------+---------+--------
(0 rows)
コピーコマンドを使用して、Excelデータをインポートします。
postgres=# copy movie_star from '/pg/movie_star.csv' with csv header;
COPY 9
postgres=#
postgres=# select * from movie_star ;
user_id | user_name | age | gender | address | remark
---------+---------------+-----+--------+-------------------+------------------------------------------
1 | Jackie Chan | 45 | male | HK,CHINA,ASIA | police story project A rush hour
2 | Gong Li | 38 | female | "Singapore",ASIA | Farewell My Concubine Lifetimes Living
3 | Brigitte Lin | 46 | female | HK,CHINA,ASIA |
4 | Maggie Cheung | 39 | female | HK,CHINA,ASIA |
5 | Jet Li | 41 | male | "Singapore",ASIA | Fist of LegendOnce Upon a Time in China
6 | Jacky Cheung | 35 | male | HK,CHINA,ASIA |
7 | Chow Yun Fat | 48 | male | HK,CHINA,ASIA |
8 | Donnie Yen | 36 | male | HK,CHINA,ASIA |
9 | Stephen Chow | 40 | male | HK,CHINA,ASIA |
サーバーにアップロードされたExcelスプレッドシートのデータを表示します。
postgres=# \! cat /pg/movie_star.csv
user_id,user_name,age,gender,address,remark
1,Jackie Chan,45,male,"HK,CHINA,ASIA ",police story project A rush hour
2,Gong Li,38,female," ""Singapore" ",ASIA", Farewell My Concubine Lifetimes Living
3,Brigitte Lin,46,female," HK,CHINA,ASIA",
4,Maggie Cheung,39,female,"HK,CHINA,ASIA ",
5,Jet Li,41,male,"""Singapore"",ASIA", Fist of LegendOnce Upon a Time in China
6,Jacky Cheung ,35,male,"HK,CHINA,ASIA",
7, Chow Yun Fat,48,male,"HK,CHINA,ASIA",
8, Donnie Yen,36,male,"HK,CHINA,ASIA",
9, Stephen Chow,40,male,"HK,CHINA,ASIA",
エクセルの表を見るとわかるように、csv形式(UTF-8、カンマ区切り)で保存した後、システムは自動的に表のデータをフォーマットし、データのインポートエラーを避けるために、ダブルクォート、カンマなど、いくつかのフィールドにエスケープを追加しています。
この記事はpostgresqlデータベースにExcelのテーブルデータをインポートする方法について紹介されています、より関連するpostgresqlデータベースへのExcelのテーブルデータの内容はBinaryDevelopの以前の記事を検索してくださいまたは、次の関連記事を参照してください、あなたが将来的にBinaryDevelopをよりサポートすることを願っています
関連
-
postgresのjsonbプロパティの利用について
-
Postgresqlの行から列への高度な応用と要約のアイデア
-
Postgresqlへのリモートアクセスの設定方法(ファイアウォールの設定またはOFFが必要です。)
-
どのように定期的にLinux上でpostgresqlのデータベースをバックアップする
-
Postgresqlのデータベース権限まとめ
-
Postgresqlのデータマージ、複数のデータを1つの操作にマージする。
-
PostgreSQLにおけるsequence、serial、identityの使い方の違いについて
-
oracle_fdwを介してOracleデータにアクセスするためのPostgreSQLの手順
-
PostgreSQLで時間指定タスクを実装する4つの方法
-
PostgreSQLにおけるVACUUMコマンドの使用方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PostgreSQLのURL解決方法
-
PostgreSQLのテーブルをパーティション分割する3つの方法
-
postgresqlにおける時間処理のコツ(推奨)
-
PostgreSQLのユーザーログイン失敗時の自動ロック解決策
-
PostgreSQLでデータの一括インポートのパフォーマンスを向上させるn個の方法を説明します。
-
Postgresqlの操作でSQL文の実行効率を表示する
-
GROUP BY句での定数使用に関するPostgreSQLの特別な制限について説明します。
-
pgAdmin for postgreSQLでサーバーのデータをバックアップする方法
-
Postgresqlのデータベースにおける配列の作成と変更に関する操作
-
postgresqlのjsonbデータの問い合わせと変更方法