我正在使用以下代码填充我的数据库。我已导入from datetime import datetime
并尝试创建一个datetime对象以保存到django的DateTimeField。
with open(os.path.join(settings.BASE_DIR, 'media', 'attendance', 'populate.csv')) as f:
reader = csv.reader(f)
for row in reader:
obj, created = Attendance.objects.get_or_create(
employee_id=row[0],
punch=datetime.strptime(row[1], "%Y%m%d %H%M"),
)
这是我得到的错误。
ValueError at /attn/populate/
time data ' 20170604 0600' does not match format '%Y%m%d %H%M'
似乎字符串DOES与格式匹配。我在这里做错了什么?
答案 0 :(得分:2)
字符串为' 20170604 0600'
,请注意前导空格。
将格式更改为' %Y%m%d %H%M'
,或使用strip
从字符串中删除任何前导或尾随空格:
for row in reader:
obj, created = Attendance.objects.get_or_create(
employee_id=row[0],
punch=datetime.strptime(row[1].strip(), "%Y%m%d %H%M"))
答案 1 :(得分:1)
字符串中的额外前导空格
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1" class="studtbl">
<tr>
<td><input type="text" id="name"></td>
<td><input type="text" id="email"></td>
<td><input type="text" id="age"></td>
<td><input type="text" id="gender"></td>
<td><input type="text" id="height"></td>
<td><button class="save">save</button></td>
</tr>
<tr>
<th>Name</th>
<th>Email</th>
<th>Age</th>
<th>Gender</th>
<th>Height</th>
</tr>
<tr>
<td>pqr</td>
<td>pqr@gmal.com</td>
<td>21</td>
<td>M</td>
<td>6 feet</td>
</tr>
<tr>
<td>abc</td>
<td>abc@gmal.com</td>
<td>23</td>
<td>M</td>
<td>5 feet 7 inches</td>
</tr>
<tr>
<td>xyz</td>
<td>xyz@gmal.com</td>
<td>27</td>
<td>M</td>
<td>5 feet 9 inches</td>
</tr>
</table>