デラ・マタドーラの株式投資日記

サラリーマン相場師の株式売買ブログです。酒田罫線法を用いた売買の実績報告、筋トレ関係、その他雑多なことを書いてます。

「株価データ倉庫」の株価データをDB取込しようとしてエラーとなった箇所まとめ

こんにちは。デラ・マタドーラです。

過去の株価データを分析するために、株価データをDB管理しようと最近少しずつ作業しているところです。

過去の株価データを無料でダウンロードできる「 株価データ倉庫 」のデータを使用しているのですが、DBにインポートする際に色々エラーが起きました。

何回かトライ&エラーを重ねて正常にインポートできるようになったので、エラー原因となった箇所をパターン別にまとめておきます。

◆目次

対象のデータ

株価データ倉庫 」で提供している株価データのうち、2006年~2017年のもの。

エラー原因① 銘柄名に不要なタブが入っている(11箇所)

このサイトの株価データは、項目がタブで区切られたテキスト形式です。

しかし、銘柄名の中にタブが入っていたため、項目が1つずれてエラーとなっていました。 また、項目がずれた影響なのか、一番最後の項目「出来高」が出力されてなく、「終値」が1000で割られていました。(本来は出来高が1000で割られているのが正しい)

対処方法は、
・項目名のタブを取り除く
・終値が1000で割られているので修正
・出来高は他のサイトで調査して入力する

対象箇所は以下の11箇所です。

日付 銘柄コード
201501092044
201501092045
201501092046
201501092047
201501152044
201501162044
201501162045
201501162046
201501162047
201408049607
201501131634

エラー原因② 数値に不要な文字がある(1箇所)

数値項目に不要な文字”]”が含まれていてエラーとなりました。

この文字を取り除けば解決しました。

対象箇所は以下の1箇所です。

日付 銘柄コード
201601281905

エラー原因③ 銘柄コードの間違い(3箇所)

銘柄コード「2041」が「2040」になっていて、「2040」が重複したことでエラーとなっていました。

銘柄コードを「2041」に修正することで解決しました。

対象箇所は以下の3箇所です。

日付 銘柄コード
201407312040
201712272040
201712282040

エラー原因④ 銘柄名の最後に謎の文字がある(145箇所)

銘柄名の最後に謎の文字(サクラエディタで見ると文字コード「?8A」となっていた)があり、後続のタブがタブと認識されず、項目がずれてエラーとなっていました。

この文字を取り除けば解決しました。

ただ、これはプログラム言語などによりエラーとならないかもしれないですね。

対象箇所は以下の145箇所です。

日付 銘柄コード
201110172029
201110182029
201110192029
201110202029
201110212029
201110242029
201110252029
201110262029
201110272029
201110282029
201110312029
201111012029
201111022029
201111042029
201111072029
201111082029
201111092029
201111102029
201111112029
201111142029
201111152029
201111172029
201111182029
201111212029
201111222029
201111242029
201111252029
201111282029
201111292029
201111302029
201112012029
201112022029
201112052029
201112062029
201112072029
201112082029
201112092029
201112122029
201112132029
201112142029
201112152029
201112162029
201112192029
201112202029
201112212029
201112222029
201112262029
201112272029
201112282029
201112292029
201112302029
201201042029
201201052029
201201062029
201201102029
201201112029
201201122029
201201132029
201201162029
201201182029
201201192029
201201202029
201201232029
201201242029
201201252029
201201262029
201201272029
201201302029
201201312029
201202012029
201202022029
201202032029
201202062029
201202072029
201202082029
201202092029
201202102029
201202132029
201202142029
201202152029
201202162029
201202172029
201202202029
201202212029
201202222029
201202232029
201202242029
201202272029
201202282029
201202292029
201203012029
201203022029
201203052029
201203062029
201203072029
201203082029
201203092029
201203122029
201203132029
201203142029
201203152029
201203162029
201203192029
201203212029
201203222029
201203232029
201203262029
201203272029
201203282029
201203292029
201203302029
201204022029
201204032029
201204042029
201204052029
201204062029
201204092029
201204102029
201204112029
201204122029
201204132029
201204172029
201204182029
201204192029
201204202029
201204232029
201204242029
201204252029
201204262029
201204272029
201205012029
201205022029
201205072029
201205082029
201205092029
201205112029
201205142029
201205152029
201205162029
201205172029
201205182029
201205212029
201205222029
201205232029
201205242029

エラー原因⑤ 東証・名証のデータが入っている(22箇所)

このサイトのデータは、複数市場に上場している銘柄であれば東証の株価を出力するはずなのですが、名証もデータも出力されていました。 そのため、主キーとしていた日付、銘柄コードが重複して一意性制約エラーとなっていました。

データの中には東証・名証などが識別できる項目はないため、該当日付の株価を他サイトで調査し、名証のデータを削除することでエラー解決しました。

対象箇所は以下の22箇所です。

日付 銘柄コード
201712271812
201712272811
201712273086
201712276501
201712276502
201712276902
201712277012
201712277747
201712277751
201712278058
201712278306
201712282209
201712283086
201712283320
201712283543
201712285332
201712286502
201712287011
201712287514
201712288306
201712288316
201712288601

エラー原因⑥ 銘柄コードと銘柄名の間がタブじゃない(2箇所)

銘柄コードと銘柄名の間がタブで区切られておらず、項目がずれたためにエラーとなっていました。

タブで区切ってあげたら解決しました。

対象箇所は以下の2箇所です。

日付 銘柄コード
201501293901
201501296740

以上です。