0
私はdjango 1.8とpython 3.4を使用しています。jsonファイルを作成してから書き込みを行っています。その後、データベースに保存する必要がありますが、保存すると、エラー '_io.TextIOWrapper'オブジェクトには属性がありません'コミットされました'。誰でも私が間違っているところで助けてもらえますか? はここに私のviews.pyは右、書き込み可能なファイルをデータベースに保存しますか?
def convert_file(request):
url = request.GET.get('q', None)
r = requests.get(url, stream=True)
with open('file.csv', 'wb') as out_file:
shutil.copyfileobj(r.raw, out_file)
csvfile = open("file.csv", "r")
jsonfile = open("file.json", "w")
csv_rows = []
reader = csv.DictReader(csvfile)
title = reader.fieldnames
try:
for row in reader:
csv_rows.extend([{title[i]: row[title[i]] for i in range(len(title))}])
except:
pass
jsonfile.write(json.dumps(csv_rows, sort_keys=False, indent=4, separators=(',', ': '), ensure_ascii=False))
os.remove("file.csv")
jsonfile.close()
new_json = ConvertedFile.objects.create()
new_json.file = jsonfile
new_jsone.save()
を見て持っていますが、あなたはそれを削除する前に、 'csvfile'を閉じる必要があります。たとえば、Windowsでクラッシュする可能性があります。 –
@ Jean-FrançoisFabreありがとう、私の問題を克服するための提案? – Karan
Jsonfileは閉じたファイルです。 new_jsonオブジェクトに渡しています。これは適切なタイプではなく、たとえそれがクローズドファイルであってもそうです。 –