Python - 按字符串位置解析文本文件

use*_*123 1 python parsing

我对Python的经验不是很熟悉.我有一个文本文件,需要在一行的某些字符位置拆分.理想情况下,我只想在指定的位置插入一个逗号,以便我可以将其加载到MS Access表(或类似的)中.文本的一行代码如下:

"00ZZ101 Bla Bla BlaBlaBlaBla 022000G0132000R6G00BBDJ1000 091030820514 BlaBla Bla 1PP"

我需要解析0:4,13:29,30:32和33:34等文本,依此类推......

我需要结果基本上以逗号分隔,以便我可以将它们加载到表中.因此,基本上取前四个字符然后分割它们,然后是第13个到第29个并将它们分开,依此类推.文本文件中的问题在每一行的末尾都有一个回车符(在第167个字符位置).所以我需要根据一些规则将每一行拆分成多个部分,这些规则决定了哪些数据应该组合在一起.

任何人都有他们可以分享的示例代码可以帮助我吗?谢谢

Pau*_*McG 6

从Python控制台:

>>> s = "00ZZ101 Bla Bla BlaBlaBlaBla 022000G0132000R6G00BBDJ1000 091030820514 BlaBla Bla 1PP"
>>> slices = [(0,4), (13,29), (30,32), (33,34)]
>>> [s[slice(*slc)] for slc in slices]
['00ZZ', 'la BlaBlaBlaBla ', '22', '0']
Run Code Online (Sandbox Code Playgroud)

如果要从输入文本文件中的每一行读取字符串,这是读取文件并依次处理每一行的方法:

with open('xyzzy.txt') as sourcefile:
    for line in sourcefile: 
        # process each line
Run Code Online (Sandbox Code Playgroud)