2013-09-05 184 views
0

我想將使用python的ms-sql中的blob數據轉換爲csv文件。 Blob數據本身有很多其他逗號,並且不會讓我正確轉換它。將blob數據轉換爲CSV文件

有沒有辦法在blob中轉義逗號,但在需要時將其正確上傳到另一個數據庫。

我正在做一個GAE項目,並從ms-sql數據庫下載表來上傳GAE數據存儲。既然它也支持xml,我應該開始使用它嗎?

--Update--

轉換SQL行,它保存的PDF文件看起來是這樣的:

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 

在第一次嘗試上傳這個資料儲存庫我得到空字符錯誤,然後使用

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

然後,我添加引號爲@格雷格提供

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

發生這種變化後,我試圖將其上傳到數據存儲並得到字符串長於500個字符的錯誤。我有export_transform:transform.blob_to_file('Filename','AttachmentBlobs')對於FileData屬性bulkloader.yaml中的行,但它被視爲字符串。

我發現blob數據應該上傳到GAE blob數據存儲區,我沒有做這些事務形式的html表單,而是形成python腳本,所以現在要開始將這些數據上傳到blob數據存儲區。

回答

0

通常情況下,如果一個CSV字段中包含逗號,該字段將被封入「s」中,python csv包處理這樣的事情,所以如果您只是將字符串拆分爲「,」,則切換到csv.reader可能會工作。

否則,我認爲你需要編輯您的問題,包括你有沒有做你想要什麼你輸入的例子和代碼。

+0

謝謝你的提示。添加報價標記解決了逗號問題,但是現在我應該如何處理blob中的其他引號? – Sarge