首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >熊猫pd.read_csv -有什么变化吗?

熊猫pd.read_csv -有什么变化吗?
EN

Stack Overflow用户
提问于 2017-09-11 13:34:00
回答 2查看 1.5K关注 0票数 0

我有一段我在1年前用木星写的代码,它成功地使用了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 dg = pd.read_csv(f10,sep=';')

要读取此数据,请执行以下操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A;W
83;88,0
64;70,1
94;94,2

今天我得到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
OSError: Initializing from file failed

在中间的某个地方:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:\Anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine)
    964     def _make_engine(self, engine='c'):
    965         if engine == 'c':
--> 966             self._engine = CParserWrapper(self.f, **self.options)
    967         else:
    968             if engine == 'python':

然而,这一点今天起作用了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with open(f10, newline='') as csvfile:
    data = csv.reader(csvfile, delimiter=';')

既然我说了潘达路,有谁知道我该改变什么吗?寻找暗示!

编辑:,我刚刚发现,这也适用于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with open(f10, newline='') as csvfile:
    dg = pd.read_csv(csvfile, delimiter=';')

但这真的有必要吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-11 13:50:50

我想这个问题来自于newlinepandas预计它将是\n

您可以直接将缓冲区传递给pd.read_csv()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dg = pd.read_csv(open(f10, newline=''), sep=';')
票数 1
EN

Stack Overflow用户

发布于 2017-09-11 13:35:59

试试这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys

pd.read_csv(f10, sep=';', encoding=sys.getdefaultencoding())

更新:

它也可以是由路径或文件名中带有重音的字符引起的。,所以尝试移动/重命名路径/文件名,使其只有一个ASCII字符,然后再试一次.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46164684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文