我正在使用python 3.2&django 1.6。我想上传一个“csv”文件并读取数据,以便将其插入数据库(postgresql)。这是我的代码
样板
<form id = "ListForm" name = "ListForm" action = "" method = 'POST' enctype="multipart/form-data">
<table>
<tr>
<td>PM List</td>
<td><input type="file" name="file_pm" id="file_pm" ></td>
</tr>
<tr><td><input type="submit" value="Upload" name="pmUpload" id="pmUpload" class="button"></td></tr>
</table>
</form>
Python代码是:
import cgi
def pmUpload(request):
form = cgi.FieldStorage()
fileitem = form["file_pm"]
我在上述python代码的最后一行中得到了“KeyError”。我试图逐一读取数据。
完整的回溯错误是
Environment:
Request Method: POST
Request URL: http://MYURL/cc/pmList/
Django Version: 1.6.5
Python Version: 3.2.3
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'ccApp')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/home/env/ccENV/lib/python3.2/site-packages/django/core/handlers/base.py" in get_response
112. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/env/ccENV/lib/python3.2/site-packages/django/views/decorators/csrf.py" in wrapped_view
57. return view_func(*args, **kwargs)
File "/home/env/ccENV/lib/python3.2/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
22. return view_func(request, *args, **kwargs)
File "/home/env/cccENV/ccc/ccApp/pmList.py" in pmUpload
19. fileitem = form["file_pm"]
File "/usr/lib/python3.2/cgi.py" in __getitem__
575. raise KeyError(key)
Exception Type: KeyError at /cc/pmList/
Exception Value: 'file_pm'
如何从上传的文件(data.csv)中读取python 3.2中的数据