I've tried to way I was instructed and moved the code in csv I was given into the same folder as my Jupyter Notebook is located. It still isn't reading it. I'm also trying to convert it into a dataframe and get it to 'describe'. I'll post the code and the errors below. Please help! Thank you in advance!
import pandas as pd
fish = pd.read_csv('c:\\Users\\M\anaconda3\\Scripts\\Fish')
fish2 = pd.DataFrame(fish)
fish2.to_csv('fishdata.csv')
fish2.describe()
OSError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_11624/2289113011.py in <module>
----> 1 fish = pd.read_csv('c:\\Users\\M\anaconda3\\Scripts\\Fish')
~\anaconda3\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs)
309 stacklevel=stacklevel,
310 )
--> 311 return func(*args, **kwargs)
312
313 return wrapper
~\anaconda3\lib\site-packages\pandas\io\parsers\readers.py in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, error_bad_lines, warn_bad_lines, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options)
584 kwds.update(kwds_defaults)
585
--> 586 return _read(filepath_or_buffer, kwds)
587
588
~\anaconda3\lib\site-packages\pandas\io\parsers\readers.py in _read(filepath_or_buffer, kwds)
480
481 # Create the parser.
--> 482 parser = TextFileReader(filepath_or_buffer, **kwds)
483
484 if chunksize or iterator:
~\anaconda3\lib\site-packages\pandas\io\parsers\readers.py in __init__(self, f, engine, **kwds)
809 self.options["has_index_names"] = kwds["has_index_names"]
810
--> 811 self._engine = self._make_engine(self.engine)
812
813 def close(self):
~\anaconda3\lib\site-packages\pandas\io\parsers\readers.py in _make_engine(self, engine)
1038 )
1039 # error: Too many arguments for "ParserBase"
-> 1040 return mapping[engine](self.f, **self.options) # type: ignore[call-arg]
1041
1042 def _failover_to_python(self):
~\anaconda3\lib\site-packages\pandas\io\parsers\c_parser_wrapper.py in __init__(self, src, **kwds)
49
50 # open handles
---> 51 self._open_handles(src, kwds)
52 assert self.handles is not None
53
~\anaconda3\lib\site-packages\pandas\io\parsers\base_parser.py in _open_handles(self, src, kwds)
220 Let the readers open IOHandles after they are done with their potential raises.
221 """
--> 222 self.handles = get_handle(
223 src,
224 "r",
~\anaconda3\lib\site-packages\pandas\io\common.py in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)
699 if ioargs.encoding and "b" not in ioargs.mode:
700 # Encoding
--> 701 handle = open(
702 handle,
703 ioargs.mode,
OSError: [Errno 22] Invalid argument: 'c:\\Users\\M\x07naconda3\\Scripts\\Fish'
CodePudding user response:
You can try to rename your file, append .csv
to your file name
CodePudding user response:
You need to specify the extension of the file, you are attempting to read. For example: for csv file, your code can look like
fish = pd.read_csv('c:\\Users\\M\anaconda3\\Scripts\\Fish.csv')
Or if your file is in the same directory as your code, you can just use the full file name
fish = pd.read_csv('Fish.csv')
CodePudding user response:
You're clearly informed that the argument of read_csv
is invalid.
OSError: [Errno 22] Invalid argument: 'c:\\Users\\M\x07naconda3\\Scripts\\Fish'
It seems you missed the cvs file, such as table.csv
.
You can try to use os.getcwd()
to check whether the current working directory is the same as the csv file.