繁体   English   中英

试图用pandas子集替换open(),但是我收到__exit__错误?

attempting to replace open() with a pandas subset, but I am given an __exit__ error?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试使用pylabels为即将发生的事件创建名称标签。 在代码的一部分中,有这个tid位:

with open(os.path.join(base_path, "names.txt")) as names:
    sheet.add_labels(name.strip() for name in names)

sheet = labels.Sheet(specs, write_name, border=True) 基本上,这将加载每行“names.txt”并使用'specs'中的规范调用函数'write_name',并将每个名称添加到唯一标签。 我正在尝试将此代码更改为以下内容:

with text_file[["Name"]] as names:
    sheet.add_labels(name.strip() for name in names)

但我得到这个错误:

Traceback (most recent call last):
  File "sticker.V.7.py", line 173, in <module>
    with text_file[["Name"]] as names:
AttributeError: __exit__

任何人都可以帮助我理解退出在这种情况下的意义吗? 我不理解其他提交的内容。

我希望添加这个子集方面,以便我可以向nametags添加更多细节。

我使用的是Python3.5

1 个回复

任何人都可以帮助我理解__exit__在这种情况下的含义吗? 我不理解其他提交的内容。 ...由于text_file不是函数,因此它应该是可以放弃的。

with语句上下文管理器with使用with ,该对象必须定义以下两个方法:

  • __enter__
  • __exit__

无论text_file[["Name"]]是什么(似乎是一个Pandas DataFrame),它都没有实现这些方法中的任何一种。 如回溯所示,它根本没有定义__enter__ ,因此执行会在那里停止并引发异常。

我认为不需要使用DataFrame作为上下文管理器。 一个典型的用例是当你想确保在with块的末尾发生某些事情时,即关闭文件流。 (就像try / finally块一样 - 你想确保无条件地调用__exit__ 。)使用Pandas DataFrame,我不确定是否有必要使用这两种dunder方法的类比。

2 Python 套接字:属性错误:__exit__

我尝试在我的笔记本电脑中运行以下示例: https://docs.python.org/3/library/socketserver.html#socketserver-tcpserver-example但它没有用。 服务器 : 客户: 此错误显示在客户端和服务器站点上: ...

3 试图用pip安装cProfile,我收到错误[关闭]

所以我到处寻找有关如何安装cProfile的帮助,但我什么都没发现。 当这种情况经常发生时,我转向pip并运行通常的:'pip install [module name]'但是我收到错误:找不到cprofile的匹配分布。 我不知道如何安装cProfile,我到处都看。 我很少转向St ...

5 我不断收到错误消息试图用“name”索引 nil

我一直在本地脚本代码的第 3 行收到错误消息(尝试使用“名称”索引 nil)。 有谁知道如何解决这一问题? 这是错误在本地脚本中的地方 这是服务器脚本 我是编码新手,所以如果我解释不好,我很抱歉! https://www.youtube.com/watch?v=9-OAQpxKXz4& ...

6 试图用文字C替换'

我这里有一个小问题。 我试图用'替换'字符' 我通过以下方式尝试了字符串替换方法: 1。 字符串测试中没有任何更改与声明的相同 2。 这格式化了我的字符串,如“HISTOIRE D \\\\'O,CHAPITRE II”; 在Google等上找不到任何内 ...

8 总是运行 __exit__

我想知道 with 语句的__exit__总是执行,就像finally一样。 拿这个代码: class WithTest(object): def __enter__(self): print("entering") return self def ...

10 __exit__吞咽TypeError

我在提醒自己''关键字'',我偶然发现了这篇文章http://effbot.org/zone/python-with-statement.htm 。 我只是有一个很小的,很明显的问题。 文章指出这会'吞下任何TypeError'' 我不太明白这是怎么回事? 一个快速的解释将不胜感激 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM