我正在尝试使用 python 将 blob 数据从 ms-sql 转换为 csv 文件。Blob 数据本身有许多其他逗号,这让我无法正确转换它。
有没有办法在 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')行,但它被视为字符串。
而且我发现 blob 数据应该上传到 GAE blob 数据存储区,我不是以 html 表单的形式进行这些事务,而是以 python 脚本的形式进行这些事务,所以现在开始将该数据上传到 blob 数据存储区。