1

行に沿った特定の文字位置で分割する必要があるテキスト ファイルがあります。理想的には、指定された位置にカンマを挿入して、MS Access テーブル (または同様のもの) にロードできるようにしたいと考えています。テキストの行は次のようになります。

「00ZZ101 ブラブラブラブラブラ1PP」

0:4、13:29、30:32、33:34 などのテキストを解析する必要があります......

結果をテーブルにロードできるように、基本的に結果をカンマで区切る必要があります。したがって、基本的には最初の 4 文字を分割し、次に 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 に答える