繁体   English   中英

从Word导入特定文本

[英]Importing specific text from Word

我有数百个Word文档,其中包含一些我需要在代码中进行度量的数字。 自然,我不想每次都将测量值复制并粘贴到python中。 我试图做的是:

r = []
with open('NGC1705_rotmod.dat') as fo:
    for rec in fo:
        r.append(rec[0:4])

哪个返回:

['# Di', '# Ra', '# kp', '0.22', '0.66', '1.11', '1.55', '2.00', '2.45', '2.89', '3.34', '3.78', '4.22', '4.66', '5.11', '5.56', '6.00']

但是,前三个元素( #Di, #Ra, #kp )只是数据的标题,它们不是我需要的数据的一部分。 有什么办法可以切断前三行?

是的,尝试这个。 可能有一种更清洁的方法,但这应该可行。

r = []
with open('NGC1705_rotmod.dat') as fo:
    next(fo)
    next(fo)
    next(fo)
    for rec in fo:
        r.append(rec[0:4])

您可以使用itertools.islice

from itertools import islice

r = []
with open('NGC1705_rotmod.dat') as fo:
    for rec in islice(fo, 3, None):
        r.append(rec[0:4])

您可以在此处跟踪行号,然后在行号为0时通过,因为标头仅在行0中,所以类似:

r = []
with open('NGC1705_rotmod.dat') as fo:

    for line_no,rec in enumerate(fo):
        if line_no==0:
            pass
        else:
            r.append(rec[0:4])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM