回答編集履歴
3
Update
test
CHANGED
@@ -33,3 +33,22 @@
|
|
33
33
|
outputText.write([*v][-1] if i else ''.join(v))
|
34
34
|
```
|
35
35
|
|
36
|
+
> テキストファイルを読み込みたい場合はどうすればいいでしょうか?
|
37
|
+
```python
|
38
|
+
from itertools import groupby
|
39
|
+
|
40
|
+
inputFile = 'sample.txt'
|
41
|
+
outputFile = 'sample_2.txt'
|
42
|
+
|
43
|
+
containWord = ['+']
|
44
|
+
with open(inputFile, 'r') as infile, open(outputFile, 'w') as outfile:
|
45
|
+
for i, v in groupby(infile, key=lambda l: any(w in l for w in containWord)):
|
46
|
+
outfile.write(next(v) if i else ''.join(v))
|
47
|
+
|
48
|
+
# containWord = ['ー']
|
49
|
+
# with open(inputFile, 'r') as infile, open(outputFile, 'w') as outfile:
|
50
|
+
# for i, v in groupby(infile, key=lambda l: any(w in l for w in containWord)):
|
51
|
+
# outfile.write([*v][-1] if i else ''.join(v))
|
52
|
+
```
|
53
|
+
|
54
|
+
|
2
Update
test
CHANGED
@@ -26,3 +26,10 @@
|
|
26
26
|
outputText.close()
|
27
27
|
```
|
28
28
|
|
29
|
+
> -が2回以上続いた際に最後の-の行以外は削除する
|
30
|
+
```python
|
31
|
+
containWords = ['ー']
|
32
|
+
for i, v in groupby(inputText, key=lambda l: any(w in l for w in containWords)):
|
33
|
+
outputText.write([*v][-1] if i else ''.join(v))
|
34
|
+
```
|
35
|
+
|
1
Update
test
CHANGED
@@ -3,34 +3,26 @@
|
|
3
3
|
from itertools import groupby
|
4
4
|
|
5
5
|
lines = '''
|
6
|
-
|
6
|
+
・見積書
|
7
|
-
|
7
|
+
・注文書
|
8
|
-
|
8
|
+
・請求書
|
9
|
+
+ ・売上管理表
|
10
|
+
・行程管理表
|
11
|
+
ー ・売上管理表
|
12
|
+
+ ・P/S
|
13
|
+
+ ・B/S
|
9
|
-
|
14
|
+
ー ・利益
|
10
|
-
|
15
|
+
ー ・合計
|
11
|
-
1
|
12
|
-
|
16
|
+
+ ・その他
|
13
|
-
2
|
14
|
-
baz
|
15
|
-
3
|
16
17
|
'''.strip()
|
17
|
-
text = io.StringIO(lines)
|
18
|
+
inputText = io.StringIO(lines)
|
19
|
+
outputText = io.StringIO()
|
18
20
|
|
19
|
-
containWords = ['
|
21
|
+
containWords = ['+']
|
20
|
-
outputText = io.StringIO()
|
21
|
-
for
|
22
|
+
for i, v in groupby(inputText, key=lambda l: any(w in l for w in containWords)):
|
22
|
-
outputText.write(next(v))
|
23
|
+
outputText.write(next(v) if i else ''.join(v))
|
23
24
|
|
24
25
|
print(outputText.getvalue())
|
25
26
|
outputText.close()
|
27
|
+
```
|
26
28
|
|
27
|
-
#
|
28
|
-
foo
|
29
|
-
end
|
30
|
-
foo
|
31
|
-
1
|
32
|
-
bar
|
33
|
-
2
|
34
|
-
baz
|
35
|
-
3
|
36
|
-
```
|