1

我有一个文本文件,需要在一行中的某些字符位置拆分。理想情况下,我想简单地在指定位置插入一个逗号,以便我可以将其加载到 MS Access 表(或类似表)中。文本的线条如下所示:

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

我需要从0:4、13:29、30:32、33:34等开始解析文本……

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

4

2 回答 2

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']

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

with open('xyzzy.txt') as sourcefile:
    for line in sourcefile: 
        # process each line
于 2012-06-14T19:48:59.000 回答
0

你有:

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

在 python 外壳中

>>> s = "00ZZ101 Bla Bla BlaBlaBlaBla 022000G0132000R6G00BBDJ1000 091030820514 BlaBla Bla 1PP"
>>> s[0:4]
'00ZZ'
>>> s[13:29]
'la BlaBlaBlaBla '
>>> s[30:32]
'22'
>>> 
于 2012-06-14T19:44:15.813 回答