我在Jupyter笔记本中尝试运行一个单元格时遇到了权限错误,错误编号为13。代码如下:
df_manual_testing = pd.concat([df_fake_manual_testing,df_true_manual_testing], axis = 0)df_manual_testing.to_csv("manual_testing.csv")
我得到的错误是:
---------------------------------------------------------------------------PermissionError Traceback (most recent call last)<ipython-input-16-f14a4d175882> in <module> 1 df_manual_testing = pd.concat([df_fake_manual_testing,df_true_manual_testing], axis = 0)----> 2 df_manual_testing.to_csv("manual_testing.csv")~\anaconda\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:~\anaconda\lib\site-packages\pandas\io\formats\csvs.py in save(self) 182 close = False 183 else:--> 184 f, handles = get_handle( 185 self.path_or_buf, 186 self.mode,~\anaconda\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 encodingPermissionError: [Errno 13] Permission denied: 'manual_testing.csv'
我不明白如何更改文件的权限。我认为需要从root改为用户,但我不知道具体怎么做。
回答:
如果你不想将csv文件写入当前工作目录,你可以简单地指定一个你确定有写入权限的文件夹的完整路径。
例如:
df_manual_testing.to_csv("C:/Users/../manual_testing.csv")
然而,如果你想写入特定的文件夹,你可以使用终端命令ls -lh
检查你是否有写入权限。最终,你可以使用文件夹所有者的账号,通过命令chmod 777 myfolder
更改权限。
如果你需要更多关于文件权限的信息,你可以查看这个参考。