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')
我正在使用 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')