使用编程格式化文本

时间:2013-09-07 17:24:46

标签: python alignment libreoffice

有没有办法使用编程软件更改.odt文件的文本格式?我正在尝试制作一些文本版本,这在lib.office中手动完成是很费时的(文本很大)。使用R或python我可以使用强力来编辑空格和回车符,但是,要进行左,右对齐等编辑,我必须最后回到编辑器来执行此操作。我可以看到python中有函数包含选项卡,更改大小写等,但是是否可以使用编程软件间接在.odt文本文件中进行右 - 左 - 中心对齐?

1 个答案:

答案 0 :(得分:1)

这对于像Python这样的脚本语言来说非常棒。我想你想要像str.ljust这样的字符串方法。该方法左对齐字符串。 打开文件。

或者,您可以尝试在OpenOffice中定义宏(如果它们存在并且您的任务很简单) - 或者花一些时间学习emacs或其他东西并使用它(this链接显示至少某种程度的emacs支持.odt文件)。或者学习vim,这是唯一的方法!

编辑:经过一些研究后,我发现了this。看来你可以解压缩.odt文件,读取其中的文件,然后手动编辑那里的XML文本节点。但是,似乎使用库可能更容易 - 这里有两个:

https://pypi.python.org/pypi/odfpy

http://ooopy.sourceforge.net/

编辑2:在实际证明文本方面,假设你已经提取了它,这个:

def justify(string, left=True):
if left:
    return "\n".join(line.lstrip() for line in string.splitlines())
else:
    lines = string.splitlines()
    longest_line = len(max(lines, key=len))
    return "\n".join(line.rjust(longest_line) for line in lines)

应该有用。