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

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

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

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1500閲覧

numpy配列の形式で数値データを読み込めない

mtopj

総合スコア7

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/08/25 00:21

windowsのメモ帳によって作成しデスクトップに保存した以下のファイル(ファイルの種類:テキストドキュメント(.txt))、ファイル名:csv)をnumpy配列の形式で読み込むための処理ができない原因が分かりません。宜しくお願いします。

~ファイルの内容~
year,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
2001,-0.4,-0.3,-0.2,-0.1,0,0,-0.1,-0.2,-0.3,-0.4,-0.5,-0.4
2002,-0.3,-0.1,0,0.3,0.4,0.5,0.6,0.7,0.8,1,1,1
2003,0.8,0.5,0,-0.2,-0.2,-0.2,-0.1,0.1,0.3,0.4,0.4,0.4
2004,0.4,0.3,0.1,0,-0.1,0,0,0.2,0.3,0.4,0.4,0.3
2005,0.2,0.1,0.1,0.1,0.2,0.3,0.2,0.1,-0.2,-0.5,-0.7,-0.8
2006,-0.8,-0.7,-0.5,-0.3,-0.2,0.1,0.3,0.4,0.6,0.8,0.9,0.8
2007,0.5,0.2,-0.2,-0.5,-0.6,-0.7,-0.9,-1.1,-1.3,-1.4,-1.5,-1.5
2008,-1.4,-1.1,-0.8,-0.5,-0.1,0.1,0.2,0.2,0.2,0,-0.2,-0.4
2009,-0.5,-0.5,-0.3,0,0.3,0.5,0.7,0.8,0.9,1,1,1.1
2010,1.1,0.9,0.7,0.3,0,-0.4,-0.8,-1.1,-1.3,-1.4,-1.5,-1.4
2011,-1.2,-0.9,-0.7,-0.4,-0.2,-0.2,-0.2,-0.4,-0.6,-0.8,-0.8,-0.7
2012,-0.6,-0.3,-0.1,0.1,0.3,0.4,0.5,0.5,0.4,0.2,0,-0.2
2013,-0.2,-0.3,-0.4,-0.4,-0.5,-0.6,-0.6,-0.5,-0.3,-0.2,-0.1,-0.2
2014,-0.2,-0.1,0,0.2,0.4,0.5,0.5,0.5,0.6,0.7,0.7,0.6
2015,0.5,0.5,0.6,0.8,1.2,99.9,99.9,99.9,99.9,99.9,99.9,99.9

~行った処理~
import numpy as np
data=np.loadtxt("filename.csv,comments="year",delimiter=",",dtype="float")

~エラーメッセージ~
FileNotFoundError:[Errno 2] No such file or directory:"filename.csv"

ファイルを読み込む際に、対象のファイルを保存しておく特定の場所があるのでしょうか?
保存されているファイル名と指定したファイル名が相違しているのでしょうか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

カレントディレクトリがデスクトップではないために起きたエラーです。

解決するには、(a)デスクトップをカレントディレクトリにする方法と、(b)ファイルをフルパスで指定する方法があります。

(a)

data=np.loadtxt("filename.csv",comments="year",delimiter=",",dtype="float")

の前に

import os os.chdir("c:\\Users\ユーザ名\Desktop")

を行う(ユーザ名の部分は、mtopjさんのwindowsでのユーザ名です)

(b)

data=np.loadtxt("filename.csv,comments="year",delimiter=",",dtype="float")

data=np.loadtxt("c:\\Users\ユーザ名\Desktop\filename.csv",comments="year",delimiter=",",dtype="float")

に変更する(ユーザ名の部分は、mtopjさんのwindowsでのユーザ名です)

投稿2017/08/25 00:49

coco_bauer

総合スコア6915

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

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

mtopj

2017/08/25 01:47

回答ありがとうございます。 早速ためしてみたのですが以下のエラーがでてしまいました。 a)の場合 import os os.chdir("c:\\Users\ユーザ名\Desktop") まで実行すると OSError:[WinError 123]ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。:'c\\User\x019\\Desktop' b)の場合 Traceback(most recent call last): File"<stdin>",line 1, in<module> File"C:\Users\19\Anaconda3\lib\site-packages\numpy\lib\npyio.py", line898, in loadtxt fh = iter(open(fname)) OSError:[Errno 22] Invalid argument: 'c:\\User\x019\\Desktop\x0cilename.csv' 宜しくお願いします。
mtopj

2017/08/25 07:57

os.chdir("c:\\Users\ユーザ名\Desktop")をos.chdir("Desktop")に。 data=np.loadtxt("filename.csv,comments="year",delimiter=",",dtype="float")をdata=np.loadtxt("filename.csv,comments="year",delimiter=",",dtype="float")にすることで解決できました。 私の質問内容が不足しており申し訳ありませんでした。 ありがとうございました。
can110

2017/08/25 09:41

OSErrorの原因は、パス区切りの\記号のためです。c:\\~以降の\も\\とする必要があります。 すなわち、os.chdir("c:\\Users\\ユーザー名\\Desktop")と指定すればよいです。 あるいはos.chdir(r"c:\Users\ユーザー名\Desktop") のように r"~"という文字列で指定する方が簡単です。
mtopj

2017/08/27 23:44

パス区切りの¥マークの数を揃えたところ問題なくできました。 OSEeeorは今まで意味が分かっていませんでしたが、初めて理由を知ることができました。 ありがとうございました。
guest

0

filename.csv の後ろにダブルクォート" が入っていないのが原因ではないでしょうか。

投稿2017/08/25 00:33

dwarfer7634

総合スコア42

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

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

mtopj

2017/08/25 00:44

解答ありがとうございます。 ご指摘のダブルクォートですが、質問文への私の入力ミスにより消えていました。実際に入力したコードでは入力されています。再度行った処理の2行目を示します。 data=np.loadtxt("filename.csv",comments="year",delimiter=",",dtype="float") 宜しくお願いします。
dwarfer7634

2017/08/25 01:11

なるほど。csvはデスクトップに置いてあるのですね。見落としていました 。でしたら、coco_bauerさんの回答通りにすれば大丈夫だと思います。 もしくは、デスクトップに置くということに必然性が無いのなら、pythonのコードと同じ場所にcsvを移動すれば読めます。
mtopj

2017/08/25 07:58

ありがとうごぜいました。解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問