仅计算 python 变量一次
Calculating python variable only once
我想在我的脚本 extractor.py 中提取一个 excel 文件并将其导入我的脚本 calculation.py 但不重新计算它!
这是我的代码:
在 extractor.py
current_directory=os.getcwd()
workbook_clients=pandas.ExcelFile(current_directory+"/Documents/clients.xlsx")
clients=pandas.io.excel.ExcelFile.parse(workbook_clients)
在calculation.py
from extractor import *
print clients
现在当我 运行 calculation.py 需要 30 秒才能 运行 我不明白为什么,我只是想调用内存中的一个变量...
如果您的数据集非常大,read_csv
应该比 read_excel
快很多。 (Source)
根据您的意见进行编辑:如果您想确保在例程中仅使用提取器获取一次值,请编写一个方法
import os
import pandas as pd
def get_data():
current_directory=os.getcwd()
workbook_clients=pd.ExcelFile(current_directory+"/Documents/clients.xlsx")
data=pd.io.excel.ExcelFile.parse(workbook_clients)
return data
clients = get_data()
print(clients)
现在你可以用 clients
做任何你想做的事,它是从内存中调用的。如果您想重新读取数据,只需再次调用该方法即可。
显然,您也可以在 extractor.py 中编写方法,然后从其他地方调用它。
顺便说一句:from module import *
在 你不应该做的 列表中。 Further reading.:)
好的,我终于找到了另一种方法来做我想做的事:
在extractor.py
current_directory=os.getcwd()
workbook_clients=pandas.ExcelFile(current_directory+"/Documents/clients.xlsx")
global clients
clients=pandas.io.excel.ExcelFile.parse(workbook_clients)
在calculation.py
print clients
我想在我的脚本 extractor.py 中提取一个 excel 文件并将其导入我的脚本 calculation.py 但不重新计算它!
这是我的代码:
在 extractor.py
current_directory=os.getcwd()
workbook_clients=pandas.ExcelFile(current_directory+"/Documents/clients.xlsx")
clients=pandas.io.excel.ExcelFile.parse(workbook_clients)
在calculation.py
from extractor import *
print clients
现在当我 运行 calculation.py 需要 30 秒才能 运行 我不明白为什么,我只是想调用内存中的一个变量...
如果您的数据集非常大,read_csv
应该比 read_excel
快很多。 (Source)
根据您的意见进行编辑:如果您想确保在例程中仅使用提取器获取一次值,请编写一个方法
import os
import pandas as pd
def get_data():
current_directory=os.getcwd()
workbook_clients=pd.ExcelFile(current_directory+"/Documents/clients.xlsx")
data=pd.io.excel.ExcelFile.parse(workbook_clients)
return data
clients = get_data()
print(clients)
现在你可以用 clients
做任何你想做的事,它是从内存中调用的。如果您想重新读取数据,只需再次调用该方法即可。
显然,您也可以在 extractor.py 中编写方法,然后从其他地方调用它。
顺便说一句:from module import *
在 你不应该做的 列表中。 Further reading.:)
好的,我终于找到了另一种方法来做我想做的事:
在extractor.py
current_directory=os.getcwd()
workbook_clients=pandas.ExcelFile(current_directory+"/Documents/clients.xlsx")
global clients
clients=pandas.io.excel.ExcelFile.parse(workbook_clients)
在calculation.py
print clients