添加<br/>标签代替.ods文件

时间:2016-01-11 07:23:20

标签: python sed

我有一个文件名sample.ods,行数超过9k,我需要在数据库中导入。当我在数据库中导入它时,它已成功导入,但问题是,列名描述的格式如下:

  

描述(烯)

     

这是描述

     

分类

     
      
  • 6个设计,消防车,货车,救护车,出租车,警察和校车
  •   
     

尺寸(包装中):

     
      
  • 9cm x 13cm x 12.5cm
  •   
     

产品尺寸:

     
      
  • 9.5cm x 8cm x 6.5cm
  •   
     

重量:

     
      
  • 0.140kg(包括任何包装)
  •   

当在db中导入文件时,在网站中描述为

  

这是描述分类: - 6   设计,消防车,货车,救护车,出租车,警察和学校   总线尺寸(包装): - 9厘米x 13厘米x 12.5厘米产品   尺寸: - 9.5厘米x 8厘米x 6.5厘米重量: - 0.140千克(包括任何   包装)

但我想要的是

  

这是解释

     

分类: - 6种设计,消防车,货车,救护车,出租车,   警察和校车

     

尺寸(包装中): - 9cm x 13cm x 12.5cm

     

产品尺寸: - 9.5厘米x 8厘米x 6.5厘米重量: - 0.140千克   (包括任何包装)

如果添加br标签代替换行符,它可以正常运行(按照我想要的方式获得结果),但是手动添加超过9k行是不对的。那么,如何在每行描述中添加br标签列代替换行符?

任何建议都表示赞赏。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您不需要替换换行符 - 无论如何它们都会被导入删除。

您只需添加<br>代码,sed即可轻松添加:

sed 's/$/<br>/'

ODS文件是包含多个XML文件的zip存档。我相信在提取的content.xml文件上运行上述命令应该是安全的。该文件似乎不包含换行符,除非它们存在于数据中,因此全局替换可能会做正确的事情。

BTW,因为 XML,你不应该使用<br/>吗?

整个过程如下:

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