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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

pandas

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

Q&A

解決済

2回答

9907閲覧

PermissionError: [Errno 13] Permission denied

itashi

総合スコア2

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

pandas

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

0グッド

0クリップ

投稿2020/11/18 03:01

前提・実現したいこと

コード実行時に返される
PermissionError: [Errno 13] Permission denied
を解消して、
指定したディレクトリにデータ保存したい。

環境

Python Version:3.7.6
実行環境:Windows10 上の Jupyterlab

現状・試したこと

以下のコード #A を実行しましたが
PermissionError: [Errno 13] Permission denied
が返されました。

その時のエラー内容は #B です。
確認の為 #C を実行してディレクトリのPermissionを確認しましたが全てTrueでした。
その後 #D として権限付与後、再度 #A を実施しても同じエラーでした。

これを解消してファイル保存をしたいです。

#A import os,datetime import pandas as pd from datetime import datetime now = datetime.now() dt = now.timestamp() os.mkdir(r'C:\Users\user\Desktop\{}'.format(dt)) test = ['a','b','c'] test2 = pd.Series(test) test2.to_csv(r'C:\Users\user\Desktop\{}'.format(dt))
#B PermissionError Traceback (most recent call last) <ipython-input-8-735ba69dc4ab> in <module> 3 4 test2 = pd.Series(test) ----> 5 test2.to_csv(r'C:\Users\user\Desktop\{}'.format(dt)) 6 7 ~\anaconda3\lib\site-packages\pandas\core\generic.py in to_csv(self, path_or_buf, sep, na_rep, float_format, columns, header, index, index_label, mode, encoding, compression, quoting, quotechar, line_terminator, chunksize, date_format, doublequote, escapechar, decimal) 3202 decimal=decimal, 3203 ) -> 3204 formatter.save() 3205 3206 if path_or_buf is None: ~\anaconda3\lib\site-packages\pandas\io\formats\csvs.py in save(self) 186 self.mode, 187 encoding=self.encoding, --> 188 compression=dict(self.compression_args, method=self.compression), 189 ) 190 close = True ~\anaconda3\lib\site-packages\pandas\io\common.py in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text) 426 if encoding: 427 # Encoding --> 428 f = open(path_or_buf, mode, encoding=encoding, newline="") 429 elif is_text: 430 # No explicit encoding PermissionError: [Errno 13] Permission denied: 'C:\Users\user\Desktop\1605666288.395685'
#C print(os.access(r'C:\Users\user\Desktop\{}'.format(dt),os.F_OK)) print(os.access(r'C:\Users\user\Desktop\{}'.format(dt),os.R_OK)) print(os.access(r'C:\Users\user\Desktop\{}'.format(dt),os.W_OK)) print(os.access(r'C:\Users\user\Desktop\{}'.format(dt),os.X_OK)) print(os.access(r'C:\Users\user',os.F_OK)) print(os.access(r'C:\Users\user',os.R_OK)) print(os.access(r'C:\Users\user',os.W_OK)) print(os.access(r'C:\Users\user',os.X_OK))
#D os.chdir(r'C:\Users\user\Desktop\{}'.format(dt)) os.chmod(r'C:\Users\user\Desktop\{}'.format(dt), 0o777)

以上、よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

to_csvに渡すべきは作成したいファイルパスでありディレクトリパスではありません。
test2.to_csv(r'C:\Users\user\Desktop\{}\hoge.csv'.format(dt))のようにファイル名hoge.csvを指定してください。

投稿2020/11/18 06:41

can110

総合スコア38233

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

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

itashi

2020/11/18 07:22

ご連絡ありがとうございます。 to_csv() → ファイルパスではなくファイルを指定する 本件、解消いたしました。大変助かりました。 ※ with open()では保存が出来ていたので何故なのか不明でしたがスッキリしました。
guest

0

PermissionError: [Errno 13] Permission denied: 'C:\Users\user\Desktop\1605666288.395685'

はやいはなしが、ファイルの保存に失敗しているってことです
単純なファイル書き込みではディレクトリの作成まではしてくれませんので、
まずは、C:\Users\user\Desktop というディレクトリが存在しているかをチェックしてみてください

投稿2020/11/18 03:27

y_waiwai

総合スコア87719

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

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

itashi

2020/11/18 06:15

ご連絡ありがとうございます。 ディレクトリの作成は 手順 #A にて os.mkdir(r'C:\Users\user\Desktop\{}'.format(dt)) としており、 その権限の確認も 手順 #C にて実施しております。 また、デスクトップ上にフォルダ作成される瞬間を目視もしており難義しております。
y_waiwai

2020/11/18 06:23

コマンドプロンプトで、実際にその名前のディレクトリが存在しているのか確認してください。 間違った方法で確認したと言っても、正しくはなりません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問