質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

3回答

1083閲覧

postgresqlのカラムについて

yuhaken_kagra

総合スコア9

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2018/09/06 02:25

pythonからCSVファイルでインポートしたテーブルのカラムが見えているのに操作しようとすると「存在しません」と言われて操作ができず、困っております。

postgresql初心者の為、ご教示の程よろしくお願いします。

前提・実現したいこと

pythonでCSVファイルの内容をposgresqlのテーブルにインポートする機能を作成しています。

Text型で一度インポートした後、定義した方へ変換する際に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

「テーブル名」の列「カラム名」は存在しません。

また作成されたテーブルを確認したところ該当カラムの右側に「+」マークが付与されている

試したこと/教えて欲しいこと

・同じソースで、違うテーブルを作成したところ、本事象で発生したエラーは出ませんでした。

・このカラムの右側に付与される「+」の意味と解決策

補足情報(FW/ツールのバージョンなど)

pythonは2.7.5を使用しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/09/06 02:39

これだけでは判断できませんし、再現確認もとれないので実際のコードやデータ、テーブル定義(Create文)を提示いただけますか?
退会済みユーザー

退会済みユーザー

2018/09/06 02:41

PostgreSQL上のデータ確認は何を使ってますか? 〈「+」マークが付与されている〉のは異常なのかどうか判断できませんよ
退会済みユーザー

退会済みユーザー

2018/09/06 02:57

第三者でも状況が再現できるように説明を尽くし、必要ならあるがままのエラーメッセージ(アカウント情報などクリティカルなところはぼかす)も開示し、実行した処理に関わるコードなども提示しないと、誰もわかりませんしイタズラに時間ばかり過ぎますよ。
guest

回答3

0

自己解決

カラムの元となるヘッダーを見直したところ、ヘッダーの最後にスペースが入っていましたので、削除したところ無事に登録できました。

ご教示頂いた皆様ありがとうございます

投稿2018/09/06 08:00

yuhaken_kagra

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

また作成されたテーブルを確認したところ該当カラムの右側に「+」マークが付与されている

そういうカラム名で作成されれているのですから、違う名前でアクセスしてエラーになるのは当然です。

そのテーブルのCREATE文がおかしいのでしょう。
CREATE文を作成する際の文字列結合を+で行っていて、演算子ではなく、文字列で編集してしまっているというのが推測されます。

投稿2018/09/06 03:26

sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuhaken_kagra

2018/09/06 05:07

返事遅くなり、申し訳ありません。 ご回答ありがとうございます。 create table文を見直してみます。 カラムをcsvファイル内のヘッダーを使用して作ろうとしているので、もしかしたらそこに不備があるのかもしれません。
guest

0

PostgreSQLに定義してあるCREATE TABLEやPython2.7.5 って古いバージョンで作ったコードも載せないで「+」マークが、って質問されてもだれもコメントできないと思います。

COPYコマンドを使うだけで済む案件とは違うのですか?
PostgreSQLからcsvにexport
CSVをPostgreSQLにimport

投稿2018/09/06 02:57

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuhaken_kagra

2018/09/06 04:03

ご回答ありがとうございます。 COPY分を再度見直してみます。
Orlofsky

2018/09/06 04:06

無用なトラブルに巻き込まれないためにはテーブル名やカラム名などは半角英数字とアンダーバーくらいしか使わないで、 + は含めてはなりません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問