2016-01-11 90 views
0

我有一個文件名sample.ods,其中包含多個需要導入數據庫的9k行。當我將其導入它已成功導入數據庫,但問題是,有列名說明這是在以下格式:將<br>標記替換爲.ods文件中的每一行分隔符

描述(EN)

這說明

拼盤:

  • 6的設計,消防車,商品廂式車,救護車,出租車,警察和校車

尺寸(在包裝):

  • 9釐米X13釐米X12.5釐米

尺寸:

  • 9.5釐米x 8釐米X6.5釐米

重量:

  • 0.140公斤(包括包裝)

當數據庫導入的文件,在該網站上的說明來作爲

這說明拼盤: - 6個 設計,消防車(商品包裝): - 9cm x 13cm x 12.5cm產品編號 尺寸: - 9.5cm x 8cm x 6.5cm重量: - 0.140kg(包括任何 包裝)

但我想是

這是應將描述

拼盤: - 6個設計,消防車,商品廂式車,救護車,出租車, 警校車

尺寸(在包裝中): - 9釐米x 13釐米x 12.5釐米

產品尺寸: - 9.5釐米x 8釐米x 6.5釐米重量: - 0.140千克 (包括任何包裝)

如果br標籤被添加來代替換行符它工作(得到的結果是我想要的),但手動添加更多然後9k行是不正確的way.So,我怎麼能在每個添加br標籤描述列的行代替換行符?

任何建議表示讚賞。

在此先感謝。

+1

因爲我不喜歡太多的二進制格式,我想首先導出爲CSV格式消耗臭氧層物質的文件,並嘗試做更換線路用'打破
'標籤通過從csv讀取記錄,更改適當的列值並插入到數據庫中。但恕我直言,你應該顯示一些代碼來得到更詳細的答案... –

+0

你寫道,這個文件是sample.ods。它是純文本文件還是OpenDocument格式,因爲擴展名建議? –

+0

@ running.t作爲擴展名是OpenDocument fromat。 – Drudge

回答

2

您不需要更換換行符 - 它們通過導入被刪除。

你只需要添加<br>標籤,這是很容易與sed

sed 's/$/<br>/' 

的ODS文件是一個包含若干XML文件的zip壓縮文件。我相信在提取的content.xml文件上運行上述命令應該是安全的。該文件似乎不包含換行符,除非它們存在於數據中,所以全局替換可能會做正確的事情。

順便說一句,因爲它 XML,你不應該使用<br/>

整個過程看起來就像這樣:

mkdir tmpdir 
cd tmpdir 
unzip /path/to/file.ods 
sed --in-place 's!$!<br/>!' content.xml 
zip /path/to/newfile.ods * 
+0

只要此文件是純文本,就會工作。我知道通常文件擴展名不足以確定文件類型,但是仍然可能表明在這種情況下文件格式是OpenDocument格式。 –

+0

ODS文件是壓縮的XML文件。我認爲OP已經設法消除了壓縮。 – ams

+1

我已經添加了解壓縮說明。 – ams

相關問題