python - 如何将 csv 文件导入 Django 项目?
问题描述
我无法将csv
文件导入到我的 Django 项目中。
我有一个已经在工作的代码,它基本上采用 csv 文件并输出不同类别的支出(使用 pandas)。我现在正在学习 Django,并且正在尝试将该代码包含到我的项目中。但是每次我尝试运行它都会说'No module named StatementOCTRev'
。
我不确定它是目录还是pandasXdjango
东西。
我尝试了不同的方法,但都没有奏效。这导致了一个丑陋的代码。所以我道歉。无论如何,这是我的 view.py:
from django.shortcuts import render, get_object_or_404
from .models import Post
from .budget import Categorize, Spending
import numpy as np
import pandas as pd
import csv
import mysite.StatementOCTRev
from import_export import resources
#import
# Create your views here.
def home(request):
posts = Post.objects
return render(request, 'mysite/home.html', {'posts':posts})
def post(request,post_id):
################################
coffeelist = ["WING", "COSTA", "CAFFEINE", "PASSO", "LA FELICE", "GULLUOGLU", "CARIBOU", "ARK COFFEE"]
restlist = ["TALABAT", "SOLO", "MELENZANE", "PIZZA", "HARDEES", "HARDEE'S", "MCDONALDS", "GULF ROYAL", "SARAY", "Carriage"]
gaslist = ["KNPC", "OULA", "ALFA"]
read = pd.read_csv('StatementOCTRev.csv', encoding="ISO-8859-1") # Read CSV
# create a new dataframe
df = pd.DataFrame(columns=["Date", "Reference", "Debit", "Credit", "Balance"])
df['Date'] = read.iloc[:, 0]
df['Reference'] = read.iloc[:, 1]
df['Debit'] = read.iloc[:, 2]
df['Credit'] = read.iloc[:, 3]
df['Balance'] = read.iloc[:, 4]
df['Category'] = 'Misc.'
for name in df.Debit:
if name < 0:
df.loc[df.Debit == name, 'Debit'] = name * -1
df.Reference = [str(x).replace(str(x), str(x).upper()) for x in df.Reference]
df.Reference = [x.strip().replace('POS', '') for x in df.Reference]
df.Reference = [x.strip().replace('UTAP', '') for x in df.Reference]
df.Reference = [x.strip().replace('@', '') for x in df.Reference]
df.Reference = [x.strip().replace('-', '') for x in df.Reference]
df.Reference = [x.strip().replace('_', '') for x in df.Reference]
# ------------------------ Coffee
Categorize(coffeelist, "Coffee")
SpentOnCoffee = Spending("Coffee")
# ------------------------ Restaurant
Categorize(restlist, "Restaurant")
SpentOnRest = Spending("Restaurant")
# ------------------------ Gas
Categorize(gaslist, "Gas")
SpentOnGas = Spending("Gas")
Other = 1296 - SpentOnRest - SpentOnCoffee - SpentOnGas
coffeecategorized = Categorize(coffeelist, "Coffee")
coffeespending = Spending("Coffee")
post = get_object_or_404(Post, pk=post_id)
return render(request, 'mysite/post.html', {'post':post})
注意:您可以看到,我没有告诉 post 函数返回与文件相关的任何内容,那是因为我实际上无法再进一步了。我当然想。但我只想让代码先读取 csv 文件。
此外,models.py
与此文件无关csv
(它只有一个 Post 类,因为应用程序只是我为锻炼 Django 而制作的一个博客。)
解决方案
推荐阅读
- javascript - 当我使用 v-model 时,Selected 不起作用?
- c# - 充气城堡 C# prime256v1 ECDSA 签名
- java - FlowPane 不占用其外部 HBox 宽度的 100%
- docusignapi - 为什么 Docusign 看不到我的重定向 URI?
- visual-studio-code - 尝试在 Code:OSS 上下载 Import Cost 扩展
- python - 由于某些特征结构问题,PyCharm 中的 Behave Runner 出错-behave.parser.ParserError:
- angular - *NgIf 异步对象触发 else 部分
- angular - Socket.Io 没有在 Chrome 中触发任何事件
- c - 为什么我的 if 语句函数没有填充我的变量 (C)?
- json - 使用 React 显示来自 API 的数据