我得到了一个文本文档(word或pdf),最后有很多参考书目.你知道一些可以将它们导出到bibtex或endnote的方法/程序吗?
谢谢
我使用pipenv. 但是,运行 Jupyter Notebok 不会访问本地环境,而是使用默认的 IPyKernel。我已经看到您可以从环境中注册虚拟环境,但这需要安装ipykernel本身需要 Jupyter的包!
有没有办法避免这种情况,只为所有虚拟环境使用一个 Jupyter 安装?
这是一个关于存储和加载数据的问题,特别是在 Python 中。我不完全确定这是合适的论坛,所以如果不合适请重定向我。
我正在处理大约 50 个 1000 行 CSV 文件,每个文件都有 10 个相关元数据参数。存储此信息的最佳方法是什么:
(A) 所有信息都是人类可读的纯文本,非编程人员可以轻松将数据和元数据关联起来。(B) 将元数据和 csv 的每一列加载到 python 字典中很方便。
我考虑了四种可能的解决方案:
(0) 以前,我在文件名中存储了少量元数据。出于显而易见的原因,这很糟糕。
(1) 为每个 CSV 文件分配一个 ID 号,将每个文件命名为“ID.csv”,然后生成一个“metadata.csv”,将每个 CSV ID 号映射到其元数据。这里的缺点是使用 ID 号会降低人类可读性。(要了解文件的内容,非编程人类读者必须手动检查“metadata.csv”)
(2) 将元数据保留在 CSV 文件的顶部。这有缺点,因为我的程序需要执行两个步骤:(a) 从文件顶部的任意行数获取元数据,(b) 告诉 CSV 读取器 (pandas.read_csv) 忽略前几行。
(3) 将 CSV 转换为某种数据序列化格式(例如 YAML),然后我可以轻松地包含元数据。这样做的缺点是无法轻松地将 CSV 的列加载到我的字典中,而且并不是每个人都了解 YAML。
对于这个问题有什么巧妙的解决方案吗?谢谢!
假设我正在构建一个用于一般用途的类:我可能需要在任何地方导入它,在其他几个文件中使用它等等。导入应该在类之前进行,如:
import foo
class Bar():
def __init__(self):
foo.spam()
Run Code Online (Sandbox Code Playgroud)
或者在__init__方法内部,如:
class Bar():
def __init__(self):
import foo
foo.spam()
Run Code Online (Sandbox Code Playgroud)
+ 将foo引入全局命名空间以供自始至终使用Bar
- 导入(@MartijnPieters等人)Bar还需要您手动导入foo
+ 避免foo在您真正需要之前加载
+foo在Bar实例化导入(和使用)时加载(@BrenBarn)
-foo其他地方不可用