0

Python を使用して、BLOB データを ms-sql から csv ファイルに変換しようとしています。Blob データ自体には他の多くのコンマが含まれているため、適切に変換できません。

ブロブでコンマをエスケープする方法はありますが、必要に応じて別のデータベースに適切にアップロードしてください。

私はGAEプロジェクトのためにこれを行っており、ms-sql dbからテーブルをダウンロードしてGAEデータストアをアップロードしています。xmlにも対応しているのですが、使ってみようかな?

- アップデート -

PDFファイルを保持する変換されたSQL行は、次のようになります。

ObjectID,FileData,Extension,
2846748,"%PDF-1.3
%
3 0 obj
<<
/Producer (PDF-XChange 3.60.0102 \(Windows\))
/Author (HA)
/Creator (ABBYY PDF Transformer 2.0)
/CreationDate (D:20130612093531+02'00')
>>
endobj
5 0 obj
<<
/Type /XObject
/Subtype /Image
/Width 150
/Height 112
/BitsPerComponent 8
/ColorSpace /DeviceRGB
/Length 3682
/Filter [/DCTDecode]
>>
stream
ÿØÿàJFIFÿÛC



%# , #&')*)-0-(0%()(ÿÛC...goes and goes on...", .PDF

最初にこれをデータストアにアップロードしようとすると、null charエラーが発生し、次を使用してそれらを削除しました

temp = str(rows[i][j]).replace("\x00", "")

次に、@Gregが提供したように引用符を追加しました

if "," in temp:
    temp = "\"" + temp + "\""

この変更の後、データ ストアにアップロードしようとしたところ、string is long than 500 char エラーが発生しました。FileData 属性の bulkloader.yaml に export_transform: transform.blob_to_file('Filename', 'AttachmentBlobs') 行がありましたが、文字列として表示されました

そして、ブロブ データを GAE ブロブ データストアにアップロードする必要があることを発見しました。これらのトランザクションは html フォームではなく、python スクリプトから行っているため、そのデータをブロブ データストアにアップロードする作業に取り掛かります。

4

1 に答える 1