【发布时间】:2018-04-03 18:35:57
【问题描述】:
我编写了 Django python csv 阅读器,但它不能正常工作。我可以看到文件已上传到系统,但我无法读取它并收到以下错误:
Exception Type: AttributeError
Exception Value: 'str' object has no attribute 'read'
data = csv.reader(open('tmp/tmp.csv'), delimiter=";")
当我按照上述静态使用时,它正在工作,但我需要通过文件上传接收的动态。我需要你的帮助,因为我没有办法解决这个问题。 我知道 decoded_file、io_string 和 data 变量无法正常工作但无法修复它们。
def upload_csv(request):
if request.method == 'POST' and request.FILES['csv_file']:
myfile = request.FILES['csv_file']
fs = FileSystemStorage()
filename = fs.save(myfile.name, myfile)
decoded_file = filename.read().decode('utf-8')
io_string = io.StringIO(decoded_file)
data = csv.reader(io_string, delimiter=';', quotechar='|')
for row in data:
if row[0] != 'FP_Item':
post = FP()
post.FP_Item = row[0]
post.save()
CSV 文件:不多,因为仍然导入试验,只有 2 行。有 ;最后但我删除并重试仍然相同
5.Item try
Try
【问题讨论】: