Cant read .csv file. EmptyDataError: No columns to parse from file

Cant read .csv file. EmptyDataError: No columns to parse from file

我正在使用 MAC 笔记本电脑读取我的 .csv 文件,但出现此错误:

EmptyDataError: No columns to parse from file.

下面是我的数据文件: preview of the .csv file

我还检查了文件的文件路径是否正确,结果是没问题。

path = 'Users\syedwaqar\Huma-IBM-ML\healthcare-dataset-stroke-data.csv' 
con = sq3.Connection(path)

我试过这样定义路径,但总是报错:

path = 'Users/syedwaqar/Huma-IBM-ML/healthcare-dataset-stroke-data.csv'
con = sq3.Connection(path)

OperationalError: unable to open database file

此后:I tried to check if the filepath is correct, it shows that its correct. I wonder what the problem is.

下面是写完这行代码后的主要错误:

data = pd.read_csv(path)

--------------------------------------------------------------------------- EmptyDataError Traceback (most recent call last) in ----> 1 data = pd.read_csv(path, header=None)

~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/parsers.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, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision) 684 ) 685 --> 686 return _read(filepath_or_buffer, kwds) 687 688

~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/parsers.py in _read(filepath_or_buffer, kwds) 450 451 # Create the parser. --> 452 parser = TextFileReader(fp_or_buf, **kwds) 453 454 if chunksize or iterator:

~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/parsers.py in init(self, f, engine, **kwds) 944 self.options["has_index_names"] = kwds["has_index_names"] 945 --> 946 self._make_engine(self.engine) 947 948 def close(self):

~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/parsers.py in _make_engine(self, engine) 1176 def _make_engine(self, engine="c"): 1177 if engine == "c": -> 1178 self._engine = CParserWrapper(self.f, **self.options) 1179 else: 1180 if engine == "python":

~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/parsers.py in init(self, src, **kwds) 2006 kwds["usecols"] = self.usecols 2007 -> 2008 self._reader = parsers.TextReader(src, **kwds) 2009 self.unnamed_cols = self._reader.unnamed_cols 2010

pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.cinit()

EmptyDataError: No columns to parse from file

请帮我解决这个问题。我无法理解这个问题。

您可能使用了错误的分隔符。这通常来自您 Mac OS 语言和地区设置。

看看这个 post 您将获得解决此问题所需的信息:https://harvestmedia.zendesk.com/hc/en-us/articles/360023978031-Opening-Excel-files-with-the-correct-CSV-list-separator

我尝试了很多方法来解决这个问题,但都无济于事。最后,在搜索了一堆关于读取 pandas 数据帧中的 .csv 文件的信息后,我自己找到了解决方案。我发布我自己的问题的答案只是为了帮助那些有同样问题的人。 无法读取 .csv 文件的原因有很多。必须检查他们的文件预览,并根据文件预览查找“pd.read_csv”函数中需要提及的所有参数,例如:分隔符类型(tab-separated 等),空白 header(在那种情况下 header= none)。如果问题仍然存在,请检查需要输入的任何必需参数后。那么问题可能出在文件路径上。输入

pwd

这将打印工作目录。然后您只需在工作目录之后指定位置。例如 this shows how to specify the path of your file 在工作目录后指定路径。如果您的文件在工作目录中,那么只需像我一样提及文件名。 但是,如果您的文件存在于其他文件夹中,则您可以在工作目录之后指定后续文件夹 例如您的工作目录是“/Users/username” 并且您的文件位于 'documents' 中名为 'huma' 的文件夹中,那么您将编写以下代码:

path = 'Documents/huma/filename.csv'

或将工作目录更改为您的文件所在的文件夹。使用以下代码:

cd /Users/Documents/huma/ 

上面这行代码改变了我的工作目录,现在我只需要指定文件名:

path = 'filename.csv' 

您可以使用以下代码检查您的文件是否存在于所描述的路径中:

os.path.isfile('filename.csv')