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/ツールのバージョンなど) |
ここにより詳細な情報を記載してください。 |
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/ツールのバージョンなど) |
ここにより詳細な情報を記載してください。 |
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 -*- |
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/ツールのバージョンなど) |
ここにより詳細な情報を記載してください。 |
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/ツールのバージョンなど) |
ここにより詳細な情報を記載してください。 |
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/ツールのバージョンなど) |
ここにより詳細な情報を記載してください。 |