質問編集履歴

5 理想結果のファイル追記

usu

usu score 12

2018/12/29 18:04  投稿

python /で囲まれた文字列抽出
### 前提・実現したいこと
プログラム初心者です。早速ですが、質問内容は
.txtの/で囲まれた文字列に該当する.labの数値を取り出したいです。
例えば、
txtファイルの/ko:/はlabファイルの1~2行目の0.0425000と0.1225000という数値を抽出したいです。
 
txtファイルでは/ko:/ /ko:/ですので、結果として欲しいファイルは、  
```  
0.0425000 0.0725000 k  
0.0725000 0.1225000 o:  
0.9725000 1.0525000 k  
1.0525000 1.2025000 o:  
```  
<file.txt>
```
/ko:/ireruho:janakute/ko:/dasuho:
```
<file.lab>
```
0.0425000 0.0725000 k
0.0725000 0.1225000 o:
0.1225000 0.2725000 i
0.2725000 0.3025000 r
0.3025000 0.3725000 e
0.3725000 0.4225000 r
0.4225000 0.4625000 u
0.4625000 0.5025000 h
0.5025000 0.6125000 o:
0.6125000 0.6525000 j
0.6525000 0.7025000 a
0.7025000 0.7425000 n
0.7425000 0.8025000 a
0.8025000 0.8525000 k
0.8525000 0.8925000 u
0.8925000 0.9325000 t
0.9325000 0.9725000 e
0.9725000 1.0525000 k
1.0525000 1.2025000 o:
1.2025000 1.3925000 d
1.3925000 1.4625000 a
1.4625000 1.5225000 s
1.5225000 1.5525000 u
1.5525000 1.6325000 h
1.6325000 1.7425000 o:
```
### 発生している問題・エラーメッセージ
```
エラーメッセージ
````
コード
```
# -*- coding: utf-8 -*-
import re
count = 0
array = []
f1 = open("file.txt").read()
f2 = open("file.lab", 'r')
indexes = [i for i, x in enumerate(f1) if x == '/']
start = f1[indexes[0] + 1]
end = f1[indexes[1] - 1]
if end == ':':
   end = f1[indexes[1] - 2]
for s in open("file.lab"):
   itemList = s.split()
   if start in itemList:
       print itemList
   if itemList.count(end):
       print itemList
```
-----------------------------------------------------------------------
./python string.py
['0.0425000', '0.0725000', 'k']
['0.8025000', '0.8525000', 'k']
['0.9725000', '1.0525000', 'k']
### 試したこと
両方のファイルをリスト化した後、1回目の"/"が来ると1つ後の要素を取り出し、2回目の"/"が来ると1つ前の要素を取り出してlabファイルと比較しようとしましたが、途中の"/"がない場合の要素を取り出してしまったり、3,4回目の"/"が来ると1回目と同じ要素を抽出してしまったりしました...
申し訳ありませんが、ご教授お願い致します...
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Python 2.7

    1770 questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

4 テキストファイルをコード化しました。

usu

usu score 12

2018/12/29 17:41  投稿

python /で囲まれた文字列抽出
### 前提・実現したいこと
プログラム初心者です。早速ですが、質問内容は
.txtの/で囲まれた文字列に該当する.labの数値を取り出したいです。
例えば、
txtファイルの/ko:/はlabファイルの1~2行目の0.0425000と0.1225000という数値を抽出したいです。
 
<file.txt>
```  
/ko:/ireruho:janakute/ko:/dasuho:
```  
<file.lab>
```  
0.0425000 0.0725000 k
0.0725000 0.1225000 o:
0.1225000 0.2725000 i
0.2725000 0.3025000 r
0.3025000 0.3725000 e
0.3725000 0.4225000 r
0.4225000 0.4625000 u
0.4625000 0.5025000 h
0.5025000 0.6125000 o:
0.6125000 0.6525000 j
0.6525000 0.7025000 a
0.7025000 0.7425000 n
0.7425000 0.8025000 a
0.8025000 0.8525000 k
0.8525000 0.8925000 u
0.8925000 0.9325000 t
0.9325000 0.9725000 e
0.9725000 1.0525000 k
1.0525000 1.2025000 o:
1.2025000 1.3925000 d
1.3925000 1.4625000 a
1.4625000 1.5225000 s
1.5225000 1.5525000 u
1.5525000 1.6325000 h
1.6325000 1.7425000 o:
```
### 発生している問題・エラーメッセージ
```
エラーメッセージ
````
コード
```
# -*- coding: utf-8 -*-
import re
count = 0
array = []
f1 = open("file.txt").read()
f2 = open("file.lab", 'r')
indexes = [i for i, x in enumerate(f1) if x == '/']
start = f1[indexes[0] + 1]
end = f1[indexes[1] - 1]
if end == ':':
   end = f1[indexes[1] - 2]
for s in open("file.lab"):
   itemList = s.split()
   if start in itemList:
       print itemList
   if itemList.count(end):
       print itemList
```
-----------------------------------------------------------------------
./python string.py
['0.0425000', '0.0725000', 'k']
['0.8025000', '0.8525000', 'k']
['0.9725000', '1.0525000', 'k']
### 試したこと
両方のファイルをリスト化した後、1回目の"/"が来ると1つ後の要素を取り出し、2回目の"/"が来ると1つ前の要素を取り出してlabファイルと比較しようとしましたが、途中の"/"がない場合の要素を取り出してしまったり、3,4回目の"/"が来ると1回目と同じ要素を抽出してしまったりしました...
申し訳ありませんが、ご教授お願い致します...
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Python 2.7

    1770 questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

3 ‘‘‘でコード化しました。

usu

usu score 12

2018/12/29 17:37  投稿

python /で囲まれた文字列抽出
__イタリックテキスト__### 前提・実現したいこと
### 前提・実現したいこと
プログラム初心者です。早速ですが、質問内容は
.txtの/で囲まれた文字列に該当する.labの数値を取り出したいです。
例えば、
txtファイルの/ko:/はlabファイルの1~2行目の0.0425000と0.1225000という数値を抽出したいです。
<file.txt>
/ko:/ireruho:janakute/ko:/dasuho:
<file.lab>
0.0425000 0.0725000 k
0.0725000 0.1225000 o:
0.1225000 0.2725000 i
0.2725000 0.3025000 r
0.3025000 0.3725000 e
0.3725000 0.4225000 r
0.4225000 0.4625000 u
0.4625000 0.5025000 h
0.5025000 0.6125000 o:
0.6125000 0.6525000 j
0.6525000 0.7025000 a
0.7025000 0.7425000 n
0.7425000 0.8025000 a
0.8025000 0.8525000 k
0.8525000 0.8925000 u
0.8925000 0.9325000 t
0.9325000 0.9725000 e
0.9725000 1.0525000 k
1.0525000 1.2025000 o:
1.2025000 1.3925000 d
1.3925000 1.4625000 a
1.4625000 1.5225000 s
1.5225000 1.5525000 u
1.5525000 1.6325000 h
1.6325000 1.7425000 o:
### 発生している問題・エラーメッセージ
```
エラーメッセージ
````
コード
```
```# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
import re
count = 0
array = []
f1 = open("file.txt").read()
f2 = open("file.lab", 'r')
indexes = [i for i, x in enumerate(f1) if x == '/']
start = f1[indexes[0] + 1]
end = f1[indexes[1] - 1]
if end == ':':
   end = f1[indexes[1] - 2]
for s in open("file.lab"):
   itemList = s.split()
   if start in itemList:
       print itemList
   if itemList.count(end):
       print itemList
```  
-----------------------------------------------------------------------
./python string.py
['0.0425000', '0.0725000', 'k']
['0.8025000', '0.8525000', 'k']
['0.9725000', '1.0525000', 'k']
### 試したこと
両方のファイルをリスト化した後、1回目の"/"が来ると1つ後の要素を取り出し、2回目の"/"が来ると1つ前の要素を取り出してlabファイルと比較しようとしましたが、途中の"/"がない場合の要素を取り出してしまったり、3,4回目の"/"が来ると1回目と同じ要素を抽出してしまったりしました...
申し訳ありませんが、ご教授お願い致します...
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Python 2.7

    1770 questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

2

usu

usu score 12

2018/12/29 17:29  投稿

python /で囲まれた文字列抽出
__イタリックテキスト__### 前提・実現したいこと
プログラム初心者です。早速ですが、質問内容は
.txtの/で囲まれた文字列に該当する.labの数値を取り出したいです。
例えば、
txtファイルの/ko:/はlabファイルの1~2行目の0.0425000と0.1225000という数値を抽出したいです。
<file.txt>
/ko:/ireruho:janakute/ko:/dasuho:
<file.lab>
0.0425000 0.0725000 k
0.0725000 0.1225000 o:
0.1225000 0.2725000 i
0.2725000 0.3025000 r
0.3025000 0.3725000 e
0.3725000 0.4225000 r
0.4225000 0.4625000 u
0.4625000 0.5025000 h
0.5025000 0.6125000 o:
0.6125000 0.6525000 j
0.6525000 0.7025000 a
0.7025000 0.7425000 n
0.7425000 0.8025000 a
0.8025000 0.8525000 k
0.8525000 0.8925000 u
0.8925000 0.9325000 t
0.9325000 0.9725000 e
0.9725000 1.0525000 k
1.0525000 1.2025000 o:
1.2025000 1.3925000 d
1.3925000 1.4625000 a
1.4625000 1.5225000 s
1.5225000 1.5525000 u
1.5525000 1.6325000 h
1.6325000 1.7425000 o:
### 発生している問題・エラーメッセージ
```
エラーメッセージ
````
コード
```
```# -*- coding: utf-8 -*-
import re
count = 0
array = []
f1 = open("file.txt").read()
f2 = open("file.lab", 'r')
indexes = [i for i, x in enumerate(f1) if x == '/']
start = f1[indexes[0] + 1]
end = f1[indexes[1] - 1]
if end == ':':
end = f1[indexes[1] - 2]
for s in open("file.lab"):
itemList = s.split()
if start in itemList:
print itemList
if itemList.count(end):
print itemList
-----------------------------------------------------------------------
./python string.py
['0.0425000', '0.0725000', 'k']
['0.8025000', '0.8525000', 'k']
['0.9725000', '1.0525000', 'k']
### 試したこと
両方のファイルをリスト化した後、1回目の"/"が来ると1つ後の要素を取り出し、2回目の"/"が来ると1つ前の要素を取り出してlabファイルと比較しようとしましたが、途中の"/"がない場合の要素を取り出してしまったり、3,4回目の"/"が来ると1回目と同じ要素を抽出してしまったりしました...
申し訳ありませんが、ご教授お願い致します...
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Python 2.7

    1770 questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

1

usu

usu score 12

2018/12/29 17:29  投稿

python /で囲まれた文字列抽出
### 前提・実現したいこと
__イタリックテキスト__### 前提・実現したいこと
プログラム初心者です。早速ですが、質問内容は
.txtの/で囲まれた文字列に該当する.labの数値を取り出したいです。
例えば、
txtファイルの/ko:/はlabファイルの1~2行目の0.0425000と0.1225000という数値を抽出したいです。
<file.txt>
/ko:/ireruho:janakute/ko:/dasuho:
<file.lab>
0.0425000 0.0725000 k
0.0725000 0.1225000 o:
0.1225000 0.2725000 i
0.2725000 0.3025000 r
0.3025000 0.3725000 e
0.3725000 0.4225000 r
0.4225000 0.4625000 u
0.4625000 0.5025000 h
0.5025000 0.6125000 o:
0.6125000 0.6525000 j
0.6525000 0.7025000 a
0.7025000 0.7425000 n
0.7425000 0.8025000 a
0.8025000 0.8525000 k
0.8525000 0.8925000 u
0.8925000 0.9325000 t
0.9325000 0.9725000 e
0.9725000 1.0525000 k
1.0525000 1.2025000 o:
1.2025000 1.3925000 d
1.3925000 1.4625000 a
1.4625000 1.5225000 s
1.5225000 1.5525000 u
1.5525000 1.6325000 h
1.6325000 1.7425000 o:
### 発生している問題・エラーメッセージ
```
エラーメッセージ
````  
コード  
```
### 該当のソースコード
python2.7
ソースコード
##string.py
# -*- coding: utf-8 -*-
```# -*- coding: utf-8 -*-
import re
count = 0
array = []
f1 = open("file.txt").read()
f2 = open("file.lab", 'r')
indexes = [i for i, x in enumerate(f1) if x == '/']
start = f1[indexes[0] + 1]
end = f1[indexes[1] - 1]
if end == ':':
   end = f1[indexes[1] - 2]
for s in open("file.lab"):
   itemList = s.split()
   if start in itemList:
       print itemList
   if itemList.count(end):
       print itemList
 
 
-----------------------------------------------------------------------
./python string.py
['0.0425000', '0.0725000', 'k']
['0.8025000', '0.8525000', 'k']
['0.9725000', '1.0525000', 'k']
### 試したこと
両方のファイルをリスト化した後、1回目の"/"が来ると1つ後の要素を取り出し、2回目の"/"が来ると1つ前の要素を取り出してlabファイルと比較しようとしましたが、途中の"/"がない場合の要素を取り出してしまったり、3,4回目の"/"が来ると1回目と同じ要素を抽出してしまったりしました...
申し訳ありませんが、ご教授お願い致します...
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Python 2.7

    1770 questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る