我已经查看过这个问题的所有类似帖子,但找不到任何解决方案......
到目前为止,Pandas读完所有我的CSV文件没有任何问题,但现在似乎有问题..
做的时候:
df = pd.read_csv(r'path to file', sep=';')
我明白了:
OSError Traceback(最近一次调用 最后)in() ----> 1 df = pd.read_csv(r'path Übersicht\ Input \ test \ test.csv',sep =';')
c:\ program files \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py in parser_f(filepath_or_buffer,sep,delimiter,header,names,index_col, usecols,squeeze,prefix,mangle_dupe_cols,dtype,engine,converter, true_values,false_values,skipinitialspace,skiprows,nrows, na_values,keep_default_na,na_filter,verbose,skip_blank_lines, parse_dates,infer_datetime_format,keep_date_col,date_parser, dayfirst,迭代器,chunksize,压缩,千,十进制, lineterminator,quotechar,quoting,escapechar,comment,encoding, dialect,tupleize_cols,error_bad_lines,warn_bad_lines,skipfooter, skip_footer,doublequote,delim_whitespace,as_recarray,compact_ints, use_unsigned,low_memory,buffer_lines,memory_map,float_precision) 703 skip_blank_lines = skip_blank_lines) 704 - > 705返回_read(filepath_or_buffer,kwds) 706 707 parser_f。 name = name
c:\ program files \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py in _read(filepath_or_buffer,kwds) 443 444#创建解析器。 - > 445 parser = TextFileReader(filepath_or_buffer,** kwds) 446 447如果是chunksize或iterator:
c:\ program files \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py in init (自我,f,引擎,** kwds) 812 self.options ['has_index_names'] = kwds ['has_index_names'] 813 - > 814 self._make_engine(self.engine) 815 816 def close(self):
c:\ program files \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py in _make_engine(self,engine)1043 def _make_engine(self,engine ='c'):1044 if engine =='c': - > 1045 self._engine = CParserWrapper(self.f,** self.options)1046 else:1047 if engine =='python':
c:\ program files \ python36 \ lib \ site-packages \ pandas \ io \ parsers.py in init (self,src,** kwds)1682 kwds ['allow_leading_cols'] = self.index_col不是假1683 - > 1684 self._reader = parsers.TextReader(src,** kwds)1685 1686 #XXX
pandas_libs \ parsers.pyx in pandas._libs.parsers.TextReader。的 CINIT ()
pandas_libs \ parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source()
OSError:从文件初始化失败
可以毫无问题地访问同一文件夹中属于XLS文件的其他文件。
当像这样使用Python库时:
import csv
file = csv.reader(open(r'pathtofile'))
for row in file:
print(row)
break
df = pd.read_csv(file, sep=';')
正在加载文件并打印第一行,但是我得到了:
ValueError:无效的文件路径或缓冲区对象类型:
可能是因为我不能这样使用read_csv ......
任何帮助,最好是让第一个Pandas功能起作用?可悲的是,我不能分享CSV ...它不应该包含除德语之外的任何特殊字符..文件大小是10mb ...
答案 0 :(得分:35)
import pandas as pd
pd.read_csv("your_file.txt", engine='python')
尝试一下。这完全对我有用。
答案 1 :(得分:21)
我遇到了类似的问题。原来,我下载的CSV完全没有权限。来自熊猫的错误消息并未指出这一点,因此很难调试。
检查文件是否具有读取权限
答案 2 :(得分:15)
我遇到了同样的问题,您应该检查您的权限。
chmod 644 file.csv
之后,效果很好。
答案 3 :(得分:1)
我假设你的csv文件在同一个地方(root)。 如果您只想读取csv文件,并获得将在控制台中显示为文本的结果,请执行此操作
import csv
with open('your_file.csv', 'r') as csvFile:
reader = csv.reader(csvFile)
for row in reader:
print(row)
csvFile.close()
注意:代码适用于Python 3,如果使用Python 2,则使用不带括号的打印语法。希望这会对你有所帮助
答案 4 :(得分:1)
当我尝试读取中文名称的csv文件时,在Win10操作系统下发现了相同的问题。将文件重命名为EN之后,再也没有问题了。也许您应该确保EN中完整的csv文件路径。
OS:Windows 10; python版本:3.6.5; Ipython的:7.0.1;熊猫:0.23.0
首先,使用时
import pandas as pd
answer_df = pd.read_csv('./答案.csv')
我的ipython笔记本引发'OSError:从文件初始化失败'。
然后我将文件重命名为answers.csv
import pandas as pd
answer_df = pd.read_csv('./answers.csv')
一切正常。
愿为您提供帮助。
答案 5 :(得分:1)
当我尝试使用日语文件名加载文件时出现相同的问题。
import pandas as pd
result = pd.read_csv('./result/けっこう.csv')
OSError: Initializing from file failed'
然后我添加了一个参数engine="python"
。
result = pd.read_csv('./result/けっこう.csv', engine="python")
对我有用。
答案 6 :(得分:0)
在Windows上遇到了同样的问题。 试图使用Dan Lee提供的解决方案,但行和列的结果却异常。我不确定这是否是由于我的csv文件中的日语字符引起的,但是通过明确定义编码格式为我解决了这个问题。
import pandas as pd
pd.read_csv("your_file.txt", engine='python', encoding = "utf-8-sig")
答案 7 :(得分:0)
pandas read_csv OSError:从文件初始化失败
我们可以尝试chmod 600 file.csv
。
答案 8 :(得分:0)
只需更改csv文件的渗透性,它将起作用
chmod 750 filename.csv(在命令行中)
或
!chmod 750 filename.csv(在jupyter笔记本中)
答案 9 :(得分:0)
我遇到了同样的问题,并且由于我刚刚安装了另一个软件包,所以我意识到问题可能是由于最近的安装可能会对pandas软件包进行了一些修改。 我试图删除熊猫并重新安装它,它和以前一样完美。
首先删除熊猫:
conda remove pandas
然后使用
重新安装它conda install -c anaconda pandas
答案 10 :(得分:0)
几个小时以来,我都面临着同样的问题,这次我尝试从下载数据集的地方找到zip文件作为参考-
df=pd.read_csv(r'C:\Users\ADMIN\news.csv')-Initializing from file failed
df=pd.read_csv(r'C:\Users\ADMIN\news.zip')-Worked nicely!!
答案 11 :(得分:0)
就我而言,我输入的路径不正确。
我正在处理从Kaggle作为zip下载的数据集。下载的结构为:main.zip/subfiles.zip。我解压缩了主要文件,但解决方案是解压缩subfiles.zip,然后将所需文件放在subfiles.zip中。
所以路径应该是main / subfiles / wantedfile.csv,这是我的简单解决方法。
答案 12 :(得分:0)
如果您在 jupyter notebook 中遇到此问题,那么请您将 csv 文件上传到 notebook 中,然后检查您的问题是否已解决。我希望这会奏效。
答案 13 :(得分:-1)
这里有相同问题的不同解决方案。
我以前曾尝试在excel中加载文件,但是excel崩溃了,但必须保留一些文件锁,因为一旦我强制退出excel,它就会按预期加载。
答案 14 :(得分:-3)
问题的可能原因是熊猫的版本太低,将熊猫更新为1.0.1,可以正常工作。使用以下命令:
pip install -U pandas