我正在使用DictReader()读取csv文件.该函数返回一个字典,其中标题项是键,单元格是值.很酷.
但我正在尝试考虑数据可能与我预期不同的行.在那种情况下(我正在捕获一个ValueError异常),我希望那些"可疑"的行进入一个单独的字典,进行手动处理.
我的问题是:因为我的第一个字典(由DictReader返回的对象)正确设置了它的所有键,我如何只将键复制到我的第二个字典中,我想要的只是一个可疑行的字典,要手动处理?
我一直在玩dict.fromkeys()这样一段时间了,而我现在却无处可去.HALP!
编辑:粘贴我的一些错误代码.要躲在我的代码的耻辱中去.不要评判我!;-)
unsure_rows = dict.fromkeys(dict(csv_reader).keys(), [])
for row in csv_reader:
# if row['Start Time'] != 'None':
try:
if before_date > strptime(row['Start Time'], '%Y-%m-%d %H:%M:%S') > after_date:
continue
except ValueError:
unsure_rows += row
Run Code Online (Sandbox Code Playgroud)
ValueError:字典更新序列元素#0的长度为13; 2是必需的
因此,我在 django 应用程序中添加了一个命令来管理.py,该命令基本上从视图中获取结果并将其通过电子邮件发送给特定用户。该命令将按照 cron 计划运行 - 基本上这是作为自动的电子邮件报告完成的。
我已经弄清楚如何添加命令,但我现在想调用视图。问题是我没有 HttpRequest 对象,每当我阅读 HttpRequest 上的 django 文档时,我的眼睛就会呆滞,很难理解它。我不确定如何创建一个 HttpRequest 对象来满足我的需求,也不确定是否有其他方法可以完成此任务。我还尝试将“None”作为请求对象传递,但这并没有导致任何结果。
帮助?
我有一个模型形式,它不会产生(某些)HTML(应该)代表模型字段.正如您从底部的输出中看到的那样,它只是输出一个空白行,它应该输出标题,并且可能是文件字段的浏览按钮(或者某些东西 - 对吗?).
#views.py
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
else:
form = UploadFileForm()
return render_to_response('files/upload_file.html', { 'form': form })
#models.py
from django import forms
from django.db import models
from django.forms import ModelForm
class UploadFile(models.Model):
title = forms.CharField(max_length = 50)
theFile = forms.FileField()
def __unicode__(self):
return str(title)
class UploadFileForm(ModelForm):
class Meta:
model = UploadFile
#upload_file.html
<form action="" method="POST" enctype="multipart/form-data">
{{ form }}
<input type="submit" value="Upload File">
</form>
#The HTML output
<form action="" method="POST" enctype="multipart/form-data">
<input type="submit" …Run Code Online (Sandbox Code Playgroud)