この問題は1週間解決できませんでした。 私はヘッダーを含むpythonリストを持っています。これらのヘッダーを使用してOracleデータベースにテーブルを作成したいと思います。問題は50以上のヘッダーがあることです。また、テーブルを作成するために必要なリストは400以上あります。また、すべてのヘッダーには同じ列データ型があります。 私はこの仕事を手動で行う方法を知っています。しかし、私が手動で行うと、私はあまりにも愚かです。だから、私は自動的にそれを行うことができるいくつかの方法を探しています。私は1週間検索されています。しかし、私はまだ解決策を見つけることができませんでした。私を助けてください。どうもありがとうございます。Pythonで非常に多くの列と同じ列のデータ型を持つOracleデータベーステーブルを作成する方法
-1
A
答えて
0
私はGoogleの助けを借りてこの質問を自分で解決しました。 pandas dataframe.to_sqlはエンコーディングの問題があるため使用しませんでした。
解決策1: dffs0には列名のリストがあります。私は各列名にCHAR(100)を追加するのに非常に非効率的な方法を使用しました。
その後、
sql='create table test1 %s' % (col_name1)
sql = sql.replace('[','(').replace(']',')').replace("'",'')
cursor.execute(sql)
これは私のために動作します。
解決策2: 私はdataframe.to_sqlのエンコードの問題を解決しました。したがって、この便利な方法でOracleデータベースに表をインポートできます。しかし、デフォルトのデータ型は便利ではないclobです。だから、私はforループを使って列のデータ型を変更しました。
dffs1.to_sql("fs_%s" %(id), engine, dtype={col_name: NVARCHAR(1000) for col_name in cols},if_exists='replace')
colsには列名のリストがあります。 dffs1は、Oracleデータベースにインポートされるデータフレームです。
両方の解決策が私に役立ちます。 なぜ人々が私の質問に投票したのか分かりません。私はpythonとoracle dbの新しいユーザーです。私はここでこの質問をする前に、10時間以上Googleを持っています。解決策は簡単ですが、新しいユーザーにとってはそれほど簡単ではありません。そして、私は最初の解決策は、それが動作しても、最も効率的な方法だとは思わない。私はまだより効率的な方法を探しています。また、それは友好的でない人もいるようです。とにかく、私はそれを自分で考え出しました。
関連する問題
- 1. 別の表からすべての列の同じデータ型を持つ表を作成する方法は?
- 2. 多くのデータを持つSQL変更列データ型
- 3. 同じ外部キーを持つ2つの列を作成する方法
- 4. 同じオプションで多くのコンボボックスを作成する方法
- 5. 2種類のデータ型を持つ動的配列を作成する方法
- 6. 同じ値を持つ列挙型
- 7. 多くの列を持つテーブルを作成するCassandra 2
- 8. 非同期/並列データベースコールを正しく作成する方法
- 9. 追加の列を持つ同じテーブルの多対多
- 10. 2つのクエリで同じテーブルの2つの列を作成する方法
- 11. OracleのSQLは、同じ型を持つ一つのテーブルにみとめ列を選択してみとめ行
- 12. Javascript:同じプロパティを持つ4つのオブジェクトを保持する配列を作成する方法
- 13. 同じテーブル内の別の列データに基づいて1つの列を作成する方法
- 14. theano - 多くの同じ機能を持つ方法
- 15. vue.js内の同じデータを持つ複数の配列を 'ウォッチ'する方法
- 16. クエリループ内で同じIDを持つ文字列concat配列を作成する
- 17. 多くのプロパティを持つオブジェクトを作成する方法は?
- 18. Spring.Netで同じ量のパラメータで多くのコンストラクタを持つ型をインスタンス化する方法
- 19. インデックスと要素に異なるデータ型を持つ配列を作成する
- 20. 同じJSON内の異なるデータを持つjQuery多次元JSON配列?
- 21. 別のクラスで使用される複数のデータ型を持つJavaで配列を作成する方法
- 22. python - Pandas - FillNaと同様の列を持つ非ヌル行
- 23. JSONスキーマ - 同じデータ型を持つオブジェクト
- 24. 異なる値を持つJavaの同じ列挙型
- 25. typescriptのベースクラスに同じ型のインスタンスを作成する方法
- 26. 同じ年に他の列を隠すことなくTableauの列を非表示にする方法
- 27. 行列を1つの列にサブセット化する方法、行列のデータ型を維持する方法、行/列の名前を維持する方法
- 28. 多くの列のデータ型幅のオーバーフロー
- 29. 同じ値を持つ配列をマージする方法を
- 30. iPhoneの非常に簡単な質問です。 2つの列を持つUIPickerViewを作成するには?
Hello&welcome to Stack Overflow Edwin!次回に投稿する前に、** [良い質問をするにはどうすればいいですか?](https://stackoverflow.com/help/how-to-ask)**の記事をご覧ください。 あなたの質問に** ** [編集](https://stackoverflow.com/posts/46020976/edit)**をクリックして、有効な** [最小限の、完全で検証可能な例](https: //stackoverflow.com/help/mcve)**、 他に誰もあなたを助けることができません。 – iamdanchiv
私は一週間後、少なくともPythonプログラムからデータベースに接続する方法を見つけたと思いますか? – Goyo
接続はとてもうまく動作します。私はcx_Oracleを使用してOracleデータベースに接続しました。 –