簡體   English   中英

無法讀取.csv 文件。 EmptyDataError:沒有要從文件中解析的列

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

我正在使用 MAC 筆記本電腦讀取 my.csv 文件,但出現此錯誤:

EmptyDataError:沒有要從文件中解析的列。

下面看一下我的數據文件:預覽.csv文件

我什至檢查了文件的文件路徑是否正確,結果很好。

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:無法打開數據庫文件

在此之后:我試圖檢查文件路徑是否正確,它表明它是正確的。 我想知道問題是什么。

這是編寫這行代碼后的主要錯誤:

data = pd.read_csv(path)

-------------------------------------------------- ------------------------- EmptyDataError Traceback (最近一次調用最后一次) in ----> 1 data = pd.read_csv(path, header=沒有任何)

~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/parsers.py in read_csv(filepath_or_buffer,sep,分隔符,header,名稱,index_col,usecols,squeeze,前綴,mangle_dupe_cols,dtype,引擎,轉換器,true_values,false_values,skipinitialspace,skirows,skipfooter,nrows,na_values,keep_default_na,na_filter,詳細,skip_blank_lines,parse_dates,infer_datetime_format,keep_date_col,date_parser,dayfirst,cache_dates,迭代器,塊大小,壓縮,數千,十進制,lineterminator,quotechar,引用、雙引號、escapechar、注釋、編碼、方言、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 # 創建解析器。 --> 452 parser = TextFileReader(fp_or_buf, **kwds) 453 454 如果是塊大小或迭代器:

~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/parsers.py 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.TextReader 中的 pandas/_libs/parsers.pyx。 初始化()

EmptyDataError:沒有要從文件中解析的列

請幫我解決這個問題。 我無法理解這個問題。

您很可能使用了錯誤的分隔符。 這通常來自您的 Mac OS 語言和區域設置。

看看這篇文章,您將獲得解決此問題所需的信息: https://harvestmedia.zendesk.com/hc/en-us/articles/360023978031-Opening-Excel-files-with-the-correct- CSV 列表分隔符

我嘗試了很多方法來解決這個問題,但無濟於事。 最后,在瀏覽了有關在 pandas dataframe 中讀取 a.csv 文件的大量信息后,我自己找到了解決方案。 我發布我自己問題的答案只是為了幫助那些有同樣問題的人。 無法讀取您的.csv 文件的原因有很多。 必須檢查他們的文件的預覽,並根據您的文件的預覽,查找所有需要在“pd.read_csv”function 中提及的 arguments,如:分隔符類型(制表符分隔等),空白 Z0995493ZEinDBF36這種情況頭=無)。 在檢查任何需要放置的 arguments 后,如果問題仍然存在。 那么問題可能出在文件路徑上。 輸入

pwd

這將打印工作目錄。 然后您只需在工作目錄之后指定位置。 例如,這顯示了如何指定文件的路徑 在工作目錄之后指定路徑。 如果您的文件在工作目錄中,那么只需像我一樣提及文件名。 但是,如果您的文件存在於其他文件夾中,那么您可以在工作目錄之后指定后續文件夾,例如您的工作目錄是“/Users/username”並且您的文件位於“documents”中名為“huma”的文件夾中,那么您將編寫以下代碼:

path = 'Documents/huma/filename.csv'

或將工作目錄更改為您的文件所在的文件夾。 使用以下代碼:

cd /Users/Documents/huma/ 

上面的代碼行改變了我的工作目錄,現在我只需要指定文件名:

path = 'filename.csv' 

您可以使用以下代碼檢查您的文件是否存在於所描述的路徑中:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM