Python模块全局导入
我的问题似乎很简单,但我找不到答案。 我创建了一个具有以下结构的项目:Python模块全局导入,python,module,Python,Module,我的问题似乎很简单,但我找不到答案。 我创建了一个具有以下结构的项目: 我的项目:main.py 我的项目/src:data.py 在主程序中,我导入pandas和data.py 在data.py中,我也使用了pandas,但由于未找到模块pandas,因此出现了一条错误消息。我需要集成到data.py:导入熊猫作为pd来使用它 所以我的问题很简单:我如何只打一个电话给pandas(在main.py)就可以在我所有的项目中访问它 这是不可能的,但您可以执行以下操作: 在src/data.py
- 我的项目:main.py
- 我的项目/src:data.py
导入熊猫作为pd
来使用它
所以我的问题很简单:我如何只打一个电话给pandas(在main.py)就可以在我所有的项目中访问它 这是不可能的,但您可以执行以下操作: 在src/data.py中,包含您想要与熊猫一起使用的任何数据,例如:
data={'a':[1,2,3,4],'b':[5,6,7,8]}
然后在main.py中:
将熊猫作为pd导入
从src.data导入*
打印(pd.数据帧(数据))
将生成以下输出:
a b
0 1 5
1 2 6
2 3 7
3 4 8
A B C
0 1 4 7
1 2 5 8
2 3 6 9
编辑: 如果确实不想在data.py中再次导入熊猫,但必须在该文件中使用熊猫的功能,可以执行以下操作: main.py:
{"A":[1,2,3], "B":[4,5,6], "C":[7,8,9]}
将熊猫作为pd导入
从src.data导入*
dl=DataLoader(pd,'src/dict.json')
打印(dl.get_data())
src/data.py:
{"A":[1,2,3], "B":[4,5,6], "C":[7,8,9]}
类数据加载器:
定义初始化(self,pd,_文件):
self.file=\u文件
self.pd=pd
def get_数据(自身):
返回self.pd.read_json(self.file)
src/dict.json:
{"A":[1,2,3], "B":[4,5,6], "C":[7,8,9]}
在这里,您将pandas
传递到data.py文件中的类DataLoader
,从而在data.py文件中使用其功能,而无需按要求将其导入该文件
为完整起见,我建议的代码生成以下输出:
a b
0 1 5
1 2 6
2 3 7
3 4 8
A B C
0 1 4 7
1 2 5 8
2 3 6 9
你不能。每个使用
numpy
的模块都必须导入一些东西,以便为其全局命名空间添加适当的名称。呃,pandas
,而不是numpy
。请提供您在文件中执行的代码位。因此我需要调用pandas两次?这意味着我在内存中有两次pandas?或者python会自动管理它?在我的建议中,Pandas只被调用过一次。src/data.py只包含data={'a':[1,2,3,4],'b':[5,6,7,8]}
,没有其他代码行。我不能做您建议的解决方案。在main.py中,我必须调用pandas,在data.py中也是如此。因此,我需要在main和data中调用两次pandas。请提供一个示例,说明在data.py中调用pandas的位置