What is OSError: [Errno 95] Operation not supported for pandas to_csv on colab?
Asked Answered
F

1

8

My input is:

test=pd.read_csv("/gdrive/My Drive/data-kaggle/sample_submission.csv")
test.head()

It ran as expected. But, for

test.to_csv('submitV1.csv', header=False)

The full error message that I got was:

OSError    Traceback (most recent call last)
<ipython-input-5-fde243a009c0> in <module>()
9 from google.colab import files
10 print(test)'''
---> 11 test.to_csv('submitV1.csv', header=False)
12 files.download('/gdrive/My Drive/data- 
kaggle/submission/submitV1.csv')

2 frames
/usr/local/lib/python3.6/dist-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, tupleize_cols, date_format, 
doublequote, escapechar, decimal)
3018                                  doublequote=doublequote,
3019                                  escapechar=escapechar, 
decimal=decimal)
-> 3020         formatter.save()
3021 
3022         if path_or_buf is None:

 /usr/local/lib/python3.6/dist-packages/pandas/io/formats/csvs.pyi 
 in save(self)
 155             f, handles = _get_handle(self.path_or_buf, 
 self.mode,
 156                                      encoding=self.encoding,
 --> 157                                      
 compression=self.compression)
 158             close = True
 159 

 /usr/local/lib/python3.6/dist-packages/pandas/io/common.py in 
 _get_handle(path_or_buf, mode, encoding, compression, memory_map, 
 is_text)
 422         elif encoding:
 423             # Python 3 and encoding
 --> 424             f = open(path_or_buf, mode,encoding=encoding, 
 newline="")
 425         elif is_text:
 426             # Python 3 and no explicit encoding

 OSError: [Errno 95] Operation not supported: 'submitV1.csv'

Additional Information about the error: Before running this command, if I run

df=pd.DataFrame()
df.to_csv("file.csv")
files.download("file.csv")

It is running properly, but the same code is producing the operation not supported error if I try to run it after trying to convert test data frame to a csv file.

I am also getting a message A Google Drive timeout has occurred (most recently at 13:02:43). More info. just before running the command.

Flyte answered 15/6, 2019 at 9:20 Comment(0)
J
9

You are currently in the directory in which you don't have write permissions.

Check your current directory with pwd. It might be gdrive of some directory inside it, that's why you are unable to save there.

Now change the current working directory to some other directory where you have permissions to write. cd ~ will work fine. It wil chage the directoy to /root. Now you can use:

test.to_csv('submitV1.csv', header=False)

It will save 'submitV1.csv' to /root

Janinajanine answered 2/9, 2019 at 21:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.