我在Django上用"runscript"做了一个函数。我想知道如何用我的函数通过模板上传CSV文件。
这是我的职责
def run():
df = pd.read_csv("scripts/Combination.csv", dtype=str)
df = df[pd.isnull(df["id"])]
def sub_budget_owner_found(v_BO, v_SBO):
try:
Employee.objects.get_or_create(name=v_BO)
v_BO_obj = Employee.objects.get(name=v_BO)
except:
v_BO_obj = Employee.objects.get(name="99999 No Budget Owner")
try:
Employee.objects.get_or_create(name=v_SBO)
v_SBO_obj = Employee.objects.get(name=v_SBO)
except:
v_SBO_obj = Employee.objects.get(name="99998 No Sub Budget Owner")
return SubBudgetOwner.objects.get_or_create(
budget_owner=v_BO_obj, sub_budget_owner=v_SBO_obj
)
for i, row in df.iterrows():
v_subsidiary = row["Subsidiary"]
v_department = row["Department"]
v_account = row["Account"]
v_sub_budget = row["Sub Budget"]
v_budget_owner = row["Budget Owner"]
v_sub_budget_owner = row["Sub Budget Owner"]
Combination.objects.get_or_create(
subsidiary=Subsidiary.objects.get_or_create(name=str(v_subsidiary))[0],
department=Department.objects.get_or_create(name=str(v_department))[0],
account=Account.objects.get_or_create(name=str(v_account))[0],
sub_budget=SubBudget.objects.get_or_create(name=str(v_sub_budget))[0],
budget_owner=sub_budget_owner_found(v_budget_owner, v_sub_budget_owner)[0],
)
print(i, row)
我使用Django视图类,目的是通过图形用户界面中的CSV文件上传新数据。
多谢了
1条答案
按热度按时间zysjyyx41#
所以我找到了解决办法。
my urls.py
in my views.py
combination_import.html
希望能有所帮助。