0
'\ n'文字を含むアップロードされたcsvファイルを読み込もうとすると、問題が発生しました。例えばdjango - 1つのフィールドに ' n'が含まれているcsvファイルを読み込む方法
- 行1: "1" は、 "これは\ nsampleある"、
- 行2: "2"、 "これもある\ nsample" 私はcsvファイル、このような内容を持っています
私はrequest.FILESでアップロードされたファイルを取得できますが、ファイルをループすると '\ n'文字で行が分割されます。私のコードは次のとおりです。最初のループでは
file = request.FILES.get('filename', None)
for line in file:
if line:
line = line.decode("utf-8")
fields_set = list(csv.reader([line], skipinitialspace=True))[0]
、変数「ライン」の内容は次のとおりです。"one, this is"
。 2番目のループでは、変数'line 'は値 "sample"を取得します。しかし、私が望むのは、「1つ」を得ることです。これは\ nサンプルです。 ご協力いただきありがとうございます。
使用csv.readerの代わりにそれを使用して開くましたテキストモードのファイル?) " –
イテレータが文字列を返します。 Django InMemoryUploadedFileは文字列ではなくバイトを返すため、csvリーダーはこのケースに対して適切に定義されていません。行を文字列に変換するには、 'f = csv.reader((csvfile.readlines()))'の 'xのx.decode( 'latin1')のようなことをする必要があります。 – Ivan