質問編集履歴

4

こーど

2017/10/25 06:54

投稿

aaa12
aaa12

スコア18

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
1
  pythonであるデータをファイルにかきこみたいです。
2
+
3
+
2
4
 
3
5
 
4
6
 
@@ -6,45 +8,33 @@
6
8
 
7
9
  ```python
8
10
 
9
- コード
10
-
11
- ファイル名はここで記載しています。
11
+ #!/usr/bin/env python
12
-
13
- ファイル
14
12
 
15
13
 
16
14
 
15
+ hoge_dict = {}
17
16
 
18
17
 
19
-
20
-
21
- #!/usr/bin/env python hoge_dict = {}
22
18
 
23
19
  for line in f1:
24
20
 
25
21
  hoge_dict[line.split(';')[0]] = line.rstrip()
26
22
 
27
-
23
+ hoge_dict[line.split('\n')[0]] = line2.rstrip()
28
24
 
29
25
  for line in f2:
30
26
 
31
27
  line = line.rstrip()
32
28
 
29
+ line2 = line2.rstrip()
30
+
33
31
  if line in hoge_dict:
34
32
 
35
- ** f3.write('hoge_dict[line]')**
33
+ f3.write(str(hoge_dict[line]) + '\n')
36
34
 
37
35
  print(hoge_dict[line])
38
36
 
39
-
37
+ ```
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
38
 
49
39
 
50
40
 

3

ソースコード

2017/10/25 06:54

投稿

aaa12
aaa12

スコア18

test CHANGED
File without changes
test CHANGED
@@ -4,9 +4,21 @@
4
4
 
5
5
 
6
6
 
7
+ ```python
8
+
9
+ コード
10
+
7
- hoge_dict = {}
11
+ ファイル名はここで記載しています。
12
+
13
+ ファイル
8
14
 
9
15
 
16
+
17
+
18
+
19
+
20
+
21
+ #!/usr/bin/env python hoge_dict = {}
10
22
 
11
23
  for line in f1:
12
24
 
@@ -20,24 +32,64 @@
20
32
 
21
33
  if line in hoge_dict:
22
34
 
35
+ ** f3.write('hoge_dict[line]')**
36
+
23
37
  print(hoge_dict[line])
24
38
 
25
39
 
26
40
 
27
- f = open('abc.txt', 'w')
28
-
29
- f.write(hoge_dict[line])
30
-
31
- f.close()
32
41
 
33
42
 
34
43
 
35
- このようなコードを書きました。
36
-
37
- しかし、このままだとabc.txtには1文しか出力されません。
38
-
39
- 毎回結果がabc.txtファイルに書き込まれるようにするためにはどうしたらよいでしょうか?また、改行も入れたいです。
40
44
 
41
45
 
42
46
 
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+ ファイルf1
56
+
57
+ 123456;764365
58
+
59
+ 765472;825695
60
+
61
+ 746174;956798
62
+
63
+ のようなデータが10万近く入っています
64
+
65
+
66
+
67
+ ファイルf2
68
+
69
+ 467678
70
+
71
+ 123456
72
+
73
+ 758989
74
+
75
+ のようなデータが10万近く入っています
76
+
77
+
78
+
79
+ 今、このコードはファイル1の;より左部分とファイル2が一致した場合ファイル1の内容が出力されるように作りました。
80
+
81
+ しかし、出力だけではなく別のファイるにその結果を保存したいと思い、その保存方法をお伺いしたいです。
82
+
83
+ 123456;764365
84
+
85
+ .....
86
+
87
+ のように開業されて保存されるのが望ましいです。
88
+
43
- f1,f2はそれぞれファイルで中身は数字っています。
89
+ テキストファイルに入れようと思っています。
90
+
91
+ うまく質問ができず申し訳ありません。答えていただけたら幸いです。
92
+
93
+
94
+
95
+ コードの上の部分が大きくなってしまっているのは気にしないでください。

2

ソースコードの修正

2017/10/10 02:54

投稿

aaa12
aaa12

スコア18

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  f = open('abc.txt', 'w')
28
28
 
29
- f.write(s)
29
+ f.write(hoge_dict[line])
30
30
 
31
31
  f.close()
32
32
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  しかし、このままだとabc.txtには1文しか出力されません。
38
38
 
39
- 毎回結果がabc.txtファイルに書き込まれるようにするためにはどうしたらよいでしょうか?
39
+ 毎回結果がabc.txtファイルに書き込まれるようにするためにはどうしたらよいでしょうか?また、改行も入れたいです。
40
40
 
41
41
 
42
42
 

1

タイトル変更

2017/10/10 02:41

投稿

aaa12
aaa12

スコア18

test CHANGED
@@ -1 +1 @@
1
- python ファイル 書き込み
1
+ pythonでのファイルへの書き込みについて
test CHANGED
File without changes