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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

NumPy

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

Q&A

解決済

1回答

3965閲覧

「FileNotFoundError: [WinError 3] 指定されたパスが見つかりません」の解決

squere

総合スコア2

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

NumPy

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

0グッド

0クリップ

投稿2023/11/01 08:49

編集2023/11/01 08:56

実現したいこと

  • 当該プログラムを正常に実行したい

 -そのためにタイトルのエラーメッセージを解決したい

前提

Intel(R) Xeon(R) CPU E3-1270 v5 @ 3.60GHz 3.60 GHz
Windows 10 Pro for Workstations

仮想環境下でjupyter notebookを使用
Python3.11
Numpyは仮想環境内にインストール済み

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

以下のようにnumpyを用いてcsvファイルから面積を算出しようとしたところ、当該エラーメッセージが発生しました。カレントディレクトリ以外の外部ネットワークフォルダを対象としています。
アクセス権限の問題かと思いましたが普通にエクスプローラーからアクセスはできます。試したこと欄にはChatGPTに聞いて行った試行錯誤を載せています。

私にはどこが問題であるかわからず、これ以上AIに質問しようもないのでこのような場にてご質問させていただきます。よろしくお願いいたします。

FileNotFoundError Traceback (most recent call last) Cell In[5], line 19 16 results = [] 18 # ディレクトリ内のすべてのtxtファイルに対して処理を行う ---> 19 for filename in os.listdir(data_directory): 20 file_path = os.path.join(data_directory, filename) 22 if os.path.isfile(file_path) and filename.endswith(".txt"): 23 # テキストファイルを読み込んでデータを配列に格納 FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。:'\\XXXX\\Y\\ZZZZ\\AAAA\\dir'

該当のソースコード

Python

1import os 2import numpy as np 3from shapely.geometry import Polygon 4import csv 5 6# テキストデータのディレクトリのパスを指定 7data_directory = '\\XXXX\\Y\\ZZZZ\\AAAA\\dir' # データファイルがあるディレクトリのパスを指定 8 9# 出力CSVファイルのパスを指定 10output_csv = '\\XXXX\\Y\\ZZZZ\\AAAA\\dir\\output.csv' # 結果を保存するCSVファイルのパスを指定 11 12# CSVファイルのヘッダを定義 13csv_header = ['File Name', 'Area'] 14 15# 結果を格納するリスト 16results = [] 17 18# ディレクトリ内のすべてのtxtファイルに対して処理を行う 19for filename in os.listdir(data_directory): 20 file_path = os.path.join(data_directory, filename) 21 22 if os.path.isfile(file_path) and filename.endswith(".txt"): 23 # テキストファイルを読み込んでデータを配列に格納 24 data = np.loadtxt(file_path) 25 26 # RGBがすべて0でない部分を抽出 27 non_black_points = data[data[:, 3:6].sum(axis=1) > 0] 28 29 # X座標とZ座標を抽出して2Dポイントのリストを作成 30 points = non_black_points[:, [0, 2]].tolist() 31 32 # ShapelyのPolygonオブジェクトを作成 33 polygon = Polygon(points) 34 35 # 不定形領域の面積を計算 36 area = polygon.area 37 38 # 結果をリストに追加 39 results.append([filename, area]) 40 41# 結果をCSVファイルに書き込む 42with open(output_csv, 'w', newline='') as csvfile: 43 csv_writer = csv.writer(csvfile) 44 csv_writer.writerow(csv_header) 45 csv_writer.writerows(results) 46 47print(f"結果を {output_csv} に保存しました。")

試したこと

指定したディレクトリが存在することを確認した
指定したディレクトリ(外部)にアクセスできることを確認した
パス中にスラッシュがあったので全てダブルバックスラッシュにした

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

jupyter notebookを仮想環境下で起動中Native kernel (python3) is not availableというメッセージが出続ける

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

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

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

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

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

guest

回答1

0

ベストアンサー

ネットワークパスであれば先頭は\\でなければいけないので、\\XXXX\\Y~\\\\XXXX\\Y~としてください。

投稿2023/11/01 08:56

can110

総合スコア38352

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

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

squere

2023/11/01 09:04

元々がシングルバックスラッシュであったため、先頭パスがダブルバックスラッシュのままであることに何も疑問をもてませんでした!盲点でした!早速のご回答誠にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問