teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

内容の修正

2021/06/16 11:00

投稿

Blackhoney115
Blackhoney115

スコア5

title CHANGED
File without changes
body CHANGED
@@ -8,9 +8,8 @@
8
8
  のようなものになっています.
9
9
  ファイル名はcoulomb_~.txtです.
10
10
 
11
+ #一度目の修正後
11
12
  知識が浅いため,ネットを参考に自分で作ってみたプログラムが以下です.
12
-
13
- #一度目の訂正後
14
13
  import pandas as pd
15
14
  import glob
16
15
  import re
@@ -28,7 +27,7 @@
28
27
 
29
28
  しかしこれでは,expected string or bytes-like objectというエラーがでて不可能でした.
30
29
 
31
- #二度目の正後
30
+ #二度目の正後
32
31
  回答者様のおかげですべてのファイル内に存在するデータを一つのExcelファイルにすることはできましたが,どのファイルのデータとつながっているのかわからず,整理が難しいまま残ってしまいました.
33
32
  ファイル名のcoulombの後には-2~3の数値が0.1刻みに存在しているのですが,これらのファイルが小さい順でしっかり並んでくれれば問題ないのですが,数値の絶対値でファイルが並び替えられてしまうので,順番に値を取得できるようにしたいです.
34
33
  import pandas as pd
@@ -53,4 +52,7 @@
53
52
  nums += get_num(file)
54
53
 
55
54
  df = pd.DataFrame([nums])
56
- df.to_excel("ret.xlsx", header=False, index=False)
55
+ df.to_excel("ret.xlsx", header=False, index=False)
56
+
57
+ #三度目の修正後
58
+ Excelでデータの入れ替えなどが行えたためこれで完了とします.

3

内容の修正

2021/06/16 11:00

投稿

Blackhoney115
Blackhoney115

スコア5

title CHANGED
File without changes
body CHANGED
@@ -30,6 +30,7 @@
30
30
 
31
31
  #二度目の訂正後
32
32
  回答者様のおかげですべてのファイル内に存在するデータを一つのExcelファイルにすることはできましたが,どのファイルのデータとつながっているのかわからず,整理が難しいまま残ってしまいました.
33
+ ファイル名のcoulombの後には-2~3の数値が0.1刻みに存在しているのですが,これらのファイルが小さい順でしっかり並んでくれれば問題ないのですが,数値の絶対値でファイルが並び替えられてしまうので,順番に値を取得できるようにしたいです.
33
34
  import pandas as pd
34
35
  import glob
35
36
  import re

2

内容の修正

2021/06/15 08:47

投稿

Blackhoney115
Blackhoney115

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  複数のtxtファイルから数値のみを自動で取り出し,一つのテキストファイルに出力したいです.(可能であればExcelファイルに出力したいです.)
2
2
 
3
3
  例としてテキストファイルの中身は,
4
-
4
+ #初期段階
5
5
   X1-1
6
6
   QE:gate
7
7
   2.090633E-13
@@ -10,6 +10,7 @@
10
10
 
11
11
  知識が浅いため,ネットを参考に自分で作ってみたプログラムが以下です.
12
12
 
13
+ #一度目の訂正後
13
14
  import pandas as pd
14
15
  import glob
15
16
  import re
@@ -25,4 +26,30 @@
25
26
 
26
27
  frame = pd.concat(li, axis=0, ignore_index=True)
27
28
 
28
- しかしこれでは,expected string or bytes-like objectというエラーがでて不可能でした.
29
+ しかしこれでは,expected string or bytes-like objectというエラーがでて不可能でした.
30
+
31
+ #二度目の訂正後
32
+ 回答者様のおかげですべてのファイル内に存在するデータを一つのExcelファイルにすることはできましたが,どのファイルのデータとつながっているのかわからず,整理が難しいまま残ってしまいました.
33
+ import pandas as pd
34
+ import glob
35
+ import re
36
+ import os
37
+
38
+ def get_num(file):
39
+ nums = []
40
+ with open(file) as f:
41
+ for line in f:
42
+ "実際に数値に変換してみて、できたものだけ取得する"
43
+ try:
44
+ nums.append( float(line.strip()))
45
+ except ValueError:
46
+ pass
47
+ return nums
48
+
49
+ nums = []
50
+ hoge = glob.glob("*.txt")
51
+ for file in hoge: # 取得対象のtxtファイルをglobなり取得する
52
+ nums += get_num(file)
53
+
54
+ df = pd.DataFrame([nums])
55
+ df.to_excel("ret.xlsx", header=False, index=False)

1

自分が行ってみたことの追加

2021/06/15 08:20

投稿

Blackhoney115
Blackhoney115

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,28 @@
1
1
  複数のtxtファイルから数値のみを自動で取り出し,一つのテキストファイルに出力したいです.(可能であればExcelファイルに出力したいです.)
2
2
 
3
3
  例としてテキストファイルの中身は,
4
+
4
5
   X1-1
5
6
   QE:gate
6
7
   2.090633E-13
7
8
  のようなものになっています.
8
- ファイル名はcoulomb_~.txtです.
9
+ ファイル名はcoulomb_~.txtです.
10
+
11
+ 知識が浅いため,ネットを参考に自分で作ってみたプログラムが以下です.
12
+
13
+ import pandas as pd
14
+ import glob
15
+ import re
16
+
17
+ all_files = glob.glob( "*.txt")
18
+
19
+ li = []
20
+
21
+ for filename in all_files:
22
+ df = pd.read_csv(filename, header=None,delimiter=" ")
23
+ df_num = re.sub(r"\d+","",df)
24
+ li.append(df_num)
25
+
26
+ frame = pd.concat(li, axis=0, ignore_index=True)
27
+
28
+ しかしこれでは,expected string or bytes-like objectというエラーがでて不可能でした.