这是一个悬而未决的问题,但请耐心等待。 我正在研究几个项目(主要是用熊猫),我已经创建了标准方法来管理它们: 1.为项目中的所有文件创建一个主文件夹 2.创建一个数据文件夹 3.将所有输出放在另一个文件夹中 等等。
我的主要活动之一是数据清理,为了使其标准化,我创建了一个字典文件,我存储了同一实体的各种翻译,例如:美国,美国,美国等,以便我生成的文件是一致的。
每次创建新项目时,我都会复制数据目录中的字典文件,然后:
xls = pd.ExcelFile(r"data/dictionary.xlsx")
df_area = xls.parse("area")
之后,为了将国家名称翻译成我的标准,我打电话给:
join_column, how_join = "country", "inner"
df_ct = pd.concat([
df_ct.merge(df_area, left_on=join_column, right_on="country_name", how=how_join),
df_ct.merge(df_area, left_on=join_column, right_on="alternative01", how=how_join),
最后我检查一下,我没有输掉错过加入的记录。 一遍又一遍。
我想有办法删除所有这些不必要的剪切和粘贴(文件和代码)。此外,我在第一个项目中使用的文件已经被弃用,我需要在需要处理新数据时更新它们(有时是代码)。有时我也会忘记最新的字典文件在哪里!总的来说,它有很多维护,我相信可能会得到保存。 创建我自己的包是要走的路还是有点过于雄心勃勃? 还有另一条捷径吗?总的来说,它不是很多代码,而是乘以几个项目。
感谢您的任何见解,感谢您的时间。
答案 0 :(得分:0)
最后我决定创建自己的包。 它需要一些时间,所以我很乐意分享有关该过程的详细信息(我在jupyter和windows上运行python)。
您需要将此目录添加到python正在查找包的目录列表中。这是通过以下声明实现的:
import sys
sys.path.append("C:\\Users\\my_user\\Documents")
为了在每次启动python时运行上述语句,它必须包含在目录中的文件中(此目录可能因安装而异):
C:\Users\my_user\.ipython\profile_default\startup
该文件可以命名为" 00-first.py" (" 50-middle.py"或" 99-last.py"也会奏效)
要验证一切正常,请重新启动python并运行命令:
print(sys.path)
此时您应该可以看到您的目录。
在目录中创建一个包名称的文件夹,以及一个子文件夹(我不希望主包文件夹中有代码)
C:\Users\my_user\Documents\my_package\my_subfolder
放一个名为" _ _init __。py"的空文件。 (请注意,下划线之间应该没有空格,但我不知道如何使用编辑器实现它)在两个文件夹中:my package和my_subfolder。此时您应该已经能够从python导入空包 将my_package导入为my_pack
在my_subfolder中创建一个文件(my_code.py),它将存储实际代码
def my_function(name):
print("Hallo " + name)
修改外部_ _init__.py文件以包含快捷方式。添加以下内容: 来自my_package.my_subfolder.my_code import my_function
您现在应该可以在python中运行以下命令: my_pack.my_function("世界"!)
希望你觉得它很有用!