だから、私はPythonでcsvで読み込もうとしているテキストファイルを持っていますが、特定の文字列で始まる2行の間に行が必要です。特定の文字列の間にある行だけを読み込むPython
import csv
with open('path to file','r') as inf:
reader = csv.reader(inf, delimiter=" ")
とを通してちょうどループ私ができるすべてのデータを取得し、リストに追加する:
raw_data=[]
for row in reader:
raw_data.append(row)
私は私が得ることができます知っている私は私が持っているだけでデータの読み取りに問題を持っていません以下のような何かを実行して、私が欲しいの行:
for row in raw_data:
if row[0] == 'string1':
begin_idx = raw_data.index(row)
elif row[0] == 'string2':
end_idx = raw_data.index(row)
data=[]
for idx in range(begin_idx+1,end_idx):
data.append(raw_data[idx])
しかし、私はときにテキストファイルを介してI最初のループすべてを一度にこれを行うことができるように期待していたので、誰もがこれを行うことができる方法上の任意のアイデアを持っている場合それは感謝します。
私が必要とする行のインデックスを探しているのは、これを実行するたびに変更される単なる整数リストであるためです。私が実行するpdfからテキストへの変換はきれいではないので、行のタイトルはその行の実際のデータと一致しません。
* Aside *:2番目のコードスニペットは、 'raw_data = list(reader)'と等価です。 –
また、最後のループの代わりに 'data = raw_data [begin_idx + 1、end_idx]'を実行することもできます。 – xZise