我有一个py脚本,我们称之为MergeData.py,我合并了两个数据文件。因为我有很多必须合并的数据文件对,所以我认为将可能的原因放在MergeData.py中将我的代码放入一个函数,比如merge_data(),然后在一个循环中调用这个函数我在另一个py脚本中的数据文件对。
2个问题:
在速度方面,从不同的文件调用函数而不是直接在循环中运行代码是明智的吗? (我有数千对必须合并。)
我想,要使用MergeData.py中的函数,我必须在MergedData导入merge_data的脚本中加入。在函数merge_data中,我使用pandas,我在主文件中通过'import pandas as pd'导入。调用函数时,我得到错误'NameError:global name'pd'未定义'。我已尝试所有可能的地方导入pandas模块,即使在函数内,但错误不断弹出。我做错了什么?
在MergeData.py中我有
def merge_data(myFile1,myFile2):
df1 = pd.read_csv(myFile1)
df2 = pd.read_csv(myFile2)
# ... my code
在我有的另一个文件中
import pandas as pd
from MergeData import merge_data
# then some code to get my file names followed by
FileList = zip(FileList1,FileList2)
for myFile1,myFile2 in FileList:
# Run Merging Algorithm
dataEq = merge_data(myFile1,myFile2)
我知道What is the best way to call a Python script from another Python script?,但无法确定这是否与我有关。
答案 0 :(得分:1)
您需要移动线
import pandas as pd
进入实际需要符号pd
的模块中,即将其移出“其他文件”并移至MergeData.py
文件中。