PermissionError:在Python中读取CSV文件的权限被拒绝

时间:2018-04-29 05:55:46

标签: python pandas

我只想读取另一个csv文件后我从Data Frame转换的 csv 文件,同时我尝试从其中删除标题。

然后我得到了以下错误:

PermissionError: [Errno 13] Permission denied: 'X_Data.csv'

我的python代码:

import pandas as pd
import numpy as np

df = pd.read_csv('input_doc.csv').replace(' ?', np.nan).dropna()

data_X = df.iloc[:, 1:15].values 
data_Y = df.iloc[:, :1].values 

clean_X = pd.DataFrame(data_X);
clean_Y = pd.DataFrame(data_Y);

clean_X.to_csv("X_Data.csv", index=False)
clean_Y.to_csv("Y_Data.csv", index=False)

X = pd.read_csv("X_Data.csv", encoding="utf-8", header=1)
Y = pd.read_csv("Y_Data.csv", encoding="utf-8", header=1)

在阅读时,我也没有删除标题时遇到同样的错误。

我发现了几个与我的问题类似的问题,但这些问题无法解决我的问题。

我使用Windows 10中的Anaconda Spyder Editor编码。

如何在不收到此错误的情况下阅读此文件? 我缺少什么?

非常感谢你!任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:7)

在Windows中,如果您打开了CSV文件(例如在Excel中),并且您运行该脚本,则无法保存到X_Data.csv,因为该文件正在使用中并且会引发PermissionError

关闭文件/ Excel并尝试再次运行脚本

答案 1 :(得分:3)

我认为您用来运行python文件的用户没有读取(或者如果您想更改文件并保存它的写入权限)CSV文件或其目录。

如果您使用的是Linux,请使用CHMOD命令授予对文件的访问权限:

公开访问:chmod 777 csv_file

如果您使用的是Windows,请更改文件和文件夹的隐私和权限。

答案 2 :(得分:0)

对于我来说,我没有完全打开文件,但是我已经在另一个应用程序中上传了相同的文件,这就是问题所在。因此,不允许从另一个应用程序读取该文件。一旦我关闭/刷新其他应用程序,python应用程序便能够读取而没有任何权限错误。

答案 3 :(得分:0)

其他人描述的任何东西可能都是正确的。

在我的特定情况下:

我要读取的文本文件在我的工作笔记本电脑上的共享驱动器上。公司同步共享驱动器,以便您不会丢失数据。与我同步是问题所在。我手动同步了文件夹,然后能够读取文件。

如果文件未同步,我怀疑您是否可以打开文件。我尝试过,并在jupyter笔记本中显示“权限被拒绝”。

希望有帮助。