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

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

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

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

2回答

8180閲覧

vscode ファイル 読み込めない

lovely

総合スコア28

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2021/08/18 11:38

編集2021/08/18 12:05

前提・実現したいこと

・問題
ファイルが認識されません!!!

・手順
アヤメデータをネットから拾い、windowsのメモ機能にコピペしてファイルとして保存しました。そのファイルをコードを書いているファイルと同じフォルダーで開き実行したものの、認識されません。。。保存方法が悪かったのでしょうか???

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

Traceback (most recent call last):
File "c:\Users\c7not\OneDrive\デスクトップ\python_lesson\YouTube\secound.py", line 5, in <module>
iris_data=pd.read_csv("iris.csv", encoding="utf-8")
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\util_decorators.py", line 311, in wrapper
return func(*args, **kwargs)
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers\readers.py", line 586, in read_csv
return _read(filepath_or_buffer, kwds)
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers\readers.py", line 482, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers\readers.py", line 811, in init
self._engine = self._make_engine(self.engine)
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers\readers.py", line 1040, in _make_engine
return mapping[engine](self.f, **self.options) # type: ignore[call-arg]
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers\c_parser_wrapper.py", line 51, in init
self._open_handles(src, kwds)
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers\base_parser.py", line 222, in _open_handles
self.handles = get_handle(
File "C:\Users\c7not\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\common.py", line 701, in get_handle
handle = open(
FileNotFoundError: [Errno 2] No such file or directory: 'iris.csv'

17行しか書いてないのに、バグってるんですかね・・・?

該当のソースコード

python

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

iris_data=pd.read_csv("iris.csv", encoding="utf-8") →ここにてエラー。読み込めないとのこと。

x=iris_data.loc[:, "Name"]
y=iris_data.loc[:, "SepalLength", "SepalWidth", "PetalLength", "PetalWidth"]

x_train, x_test, y_train, y_test=train_test_sprit(x,y, test_size=0.2, train_size=0.8, shuffle=True)

clf=SVC()
clf.fit(x_train, y_train)

y_pred=clf.predict(x_test)

print("正解率:"+accuracy_score(y_pred, y_test))

試したこと

再起動。検索。

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

pandas=1.3.2
python-dateutil=2.8.2

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

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

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

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

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

meg_

2021/08/18 11:47

> Traceback (most recent call last):http://・・・line 5, in <module> エラーメッセージは上記がそのまま全文ですか? > pythonやpandasのバージョンは最新です。 バージョンを明記いただけませんか?
lovely

2021/08/18 12:06

ご指摘いただいた2点について明記いたしました。よろしくお願いいたします。。。!
退会済みユーザー

退会済みユーザー

2021/08/18 12:32

試したことの「検索」では何を検索したのでしょう。 また実行はどのように行いましたか?
jbpb0

2021/08/18 12:32

Pythonでカレントディレクトリがどこかを確認してください https://note.nkmk.me/python-os-getcwd-chdir/ 確認したカレントディレクトリは、「iris.csv」が置いてある場所と一致してますでしょうか?
lovely

2021/08/18 12:44

yakitoriiさん、ご回答ありがとうございます。vscode上でのファイル読み込みに関するサイト、HW上のリストについてのファイルの正確な読み込みに関するサイトを見ました!
lovely

2021/08/18 12:47

jbpb0さん、ご回答ありがとうございます。os.getcwd()で表示されたカレントディレクトリはどうやって一致しているか見抜くのですか?
退会済みユーザー

退会済みユーザー

2021/08/18 12:50

検索の仕方がよくない気がします。 検索の仕方がわからない時はとりあえずエラー文をコピペするのがおすすめです。 「FileNotFoundError: [Errno 2] No such file or directory」 またソースコードと同じ場所に置いているのであれば通常、ファイル名だけでファイルを開けるはずです。 jbpb0さんがおっしゃっているように実行の方法かフォルダの構成がよくない気がします。 もう一度訪ねますがどのように実行してますか?
lovely

2021/08/18 12:53

yakitoriiさん、ご回答、アドバイスありがとうございます。何かのサイトで実行を簡略化できると書いてあり、その通りに自分で設定しました。Alt+Qで実行しています。
meg_

2021/08/18 14:12

iris.csvは「OneDrive\デスクトップ\python_lesson\YouTube」に保存されていますか?(エラーメッセージよりスクリプトがこの場所にあると思われます) > 17行しか書いてないのに、バグってるんですかね・・・? コードが正しくなければ1行でもエラーは発生します。
jbpb0

2021/08/18 18:55 編集

> os.getcwd()で表示されたカレントディレクトリはどうやって一致しているか見抜くのですか? Pythonで確認したカレントディレクトリと、 > そのファイルをコードを書いているファイルと同じフォルダーで の「フォルダー」は同じでしょうか? 念のために、他の確認方法も書いておきます Pythonで、下記を実行してみてください import os print(os.listdir("./")) そうすれば、カレントディレクトリにあるファイルやディレクトリの名前が表示されます その中に、「iris.csv」はありますでしょうか? 参考 https://note.nkmk.me/python-listdir-isfile-isdir/ > windowsのメモ機能にコピペしてファイルとして保存 で作ったファイル名が、「iris.csv」ではなく「iris.csv.txt」だったりして
lovely

2021/08/19 12:01

meg_さん、ご回答ありがとうございます。いいえ、「C:\Users\c7not\OneDrive\デスクトップ\python_lesson」が表示されました。全然違う場所にあるみたいです・・・。。
lovely

2021/08/19 12:04

jbpb0さん、ご回答ありがとうございます。お書きいただいたコードを実行してみました。ですが、そこにiris.csvはありませんでした・・・。 また、私はファイル名を「iris.csv」と入力したのですが、もし「iris.csv.txt」になってしまっていた場合、どのように対処すればよいのでしょうか??
jbpb0

2021/08/19 13:16

とりあえず、「iris.csv」を、os.getcwd()で表示されたカレントディレクトリに置いてから、もう一度 print(os.listdir("./")) を実行してみてください それで「iris.csv」が表示されたら、Pythonで読むことができるはず
jbpb0

2021/08/19 13:32

> もし「iris.csv.txt」になってしまっていた場合、どのように対処すればよいのでしょうか?? エクスプローラーでファイル名の拡張子が表示されるように、設定を変更します https://pc-karuma.net/windows-10-show-explorer-file-name-extension/ そうすれば、本当のファイル名がエクスプローラーに表示されます もしそれが「iris.csv.txt」だったならば、エクスプローラーで「iris.csv」に変更します https://pc-karuma.net/windows-10-folder-file-rename/
lovely

2021/08/19 13:56

ありがとうございました!!!カレントディレクトリをきちんとやったら解決いたしました!!!本当にありがとうございます!!!!!
guest

回答2

0

おそらく、VSCodeの「フォルダーを開く」機能を使って、スクリプトファイルsecond.pyが存在するYouTubeフォルダーより上位のフォルダー(c:\Users\c7not\OneDrive\デスクトップc:\Users\c7not\OneDrive\デスクトップ\python_lessonなど)を開いていますね。

VSCodeのウィンドウ左側に表示されるファイル一覧(エクスプローラー)の先頭に「デスクトップ」か「python_lesson」と表示されていたら、それが「フォルダーを開く」で開いたフォルダーです。
この場合、実際に実行するスクリプト(second.py)は、さらに下位のYouTubeフォルダーにあります。VSCodeのファイル一覧で、YouTubeサブフォルダー以下を展開表示するとsecond.pyが表示されます。

VSCodeでは、「フォルダーで開く」で開いたフォルダーをカレントフォルダー(ディレクトリ)としてスクリプトを実行します。ですから、スクリプトと同じフォルダーに配置したデータファイル(iris.csv)は、カレントフォルダーに存在しないため、ファイル名だけでは開けません

解決方法としては、以下のどちらかになります。

  • スクリプトが存在するYouTubeフォルダーそのものを、VSCodeの「フォルダーを開く」で開き直す。
  • データファイルの名前の前に、「スクリプトが存在するフォルダー」を追加する。

スクリプトを書き換えたくないなら、最初の方法が簡単ですね。

二番目の方法は、__file__にスクリプトのフルパス(Python 3.9以降、3.8までは実行時に指定したパス)が格納済みなのを利用して、os.path.dirnameでスクリプトのファイル名を取り除き、os.path.joinでデータファイル名と結合させればいいでしょう。

diff

1-iris_data=pd.read_csv("iris.csv", encoding="utf-8") 2+iris_data=pd.read_csv(os.path.join(os.path.dirname(__file__), "iris.csv"), encoding="utf-8")

投稿2021/08/19 03:11

Daregada

総合スコア11990

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

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

lovely

2021/08/19 12:19

ご回答ありがとうございます。1つ目の方法でもう一度ファイルを開きなおしたものの、うまくいきませんでした。。 手順としては、いったんすべてのフォルダーを閉じ、改めてsecond.pyとiris.csvを開きました。 また、二つ目の方法でもやってみたのですが、エラーが出てしまいました。
guest

0

自己解決

問題
「iris.csv」がきちんと同じフォルダに入っていなかったために、読み取ることができませんでした。

解決方法
Pythonでカレントディレクトリがどこにあるか確認したところ(下記サイト参照)異なった場所にありました。なので、os.chdir()を使って作業ディレクトリを移動し、実行したところ成功しました!!
https://note.nkmk.me/python-os-getcwd-chdir/

もし、カレントディレクトリにあるファイルやディレクトリの名前が良く分からない場合「print(os.listdir("./"))」を実行すれば、表示されます。

親身になって答えてくれたjbpb0さん、その他の皆さん、ありがとうございました。

投稿2021/08/19 14:02

lovely

総合スコア28

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問