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

回答編集履歴

5

2025/09/02 11:10

投稿

melian
melian

スコア21449

answer CHANGED
@@ -20,7 +20,7 @@
20
20
  ```python
21
21
  import pandas as pd
22
22
 
23
- s1 = pd.read_csv('sample1.txt', header=None, sep=r'[][ \t]+', engine='python').iloc[0].dropna().to_list()
23
+ s1 = pd.read_csv('sample1.txt', header=None, sep=r'[][ \t]+', engine='python').iloc[0,1:-1].to_list()
24
24
 
25
25
  print(s1)
26
26
  # [-0.5, -0.3, -0.2]

4

追記

2025/09/02 10:58

投稿

melian
melian

スコア21449

answer CHANGED
@@ -12,4 +12,16 @@
12
12
 
13
13
  # [-0.5, -0.3, -0.2]
14
14
  # <class 'float'>
15
- ```
15
+ ```
16
+
17
+ **追記**
18
+
19
+ 以下、Pandas を利用する場合です。
20
+ ```python
21
+ import pandas as pd
22
+
23
+ s1 = pd.read_csv('sample1.txt', header=None, sep=r'[][ \t]+', engine='python').iloc[0].dropna().to_list()
24
+
25
+ print(s1)
26
+ # [-0.5, -0.3, -0.2]
27
+ ```

3

2025/09/02 03:20

投稿

melian
melian

スコア21449

answer CHANGED
@@ -4,7 +4,6 @@
4
4
  import re
5
5
  from ast import literal_eval
6
6
 
7
- s1 = []
8
7
  with open('sample1.txt') as f:
9
8
  s1 = literal_eval(re.sub(r'[ \t]+', ',', f.readline()))
10
9
 

2

2025/09/02 03:18

投稿

melian
melian

スコア21449

answer CHANGED
@@ -11,6 +11,6 @@
11
11
  print(s1)
12
12
  print(type(s1[0]))
13
13
 
14
- # [[-0.5, -0.3, -0.2]]
14
+ # [-0.5, -0.3, -0.2]
15
15
  # <class 'float'>
16
16
  ```

1

sample1.txt の内容は一行とのことなので、その前提でコードを修正

2025/09/02 03:18

投稿

melian
melian

スコア21449

answer CHANGED
@@ -1,4 +1,4 @@
1
- `ast.literal_eval()` で Python のリストを表現する文字列をリストインスタンスに変換します。なお、`sample1.txt` の内容が複数行の場合を考慮して `s1` をリストにしています。
1
+ `ast.literal_eval()` で Python のリストを表現する文字列をリストインスタンスに変換します。
2
2
 
3
3
  ```python
4
4
  import re
@@ -6,11 +6,10 @@
6
6
 
7
7
  s1 = []
8
8
  with open('sample1.txt') as f:
9
- for l in f:
10
- s1.append(literal_eval(re.sub(r'[ \t]+', ',', l)))
9
+ s1 = literal_eval(re.sub(r'[ \t]+', ',', f.readline()))
11
10
 
12
11
  print(s1)
13
- print(type(s1[0][0]))
12
+ print(type(s1[0]))
14
13
 
15
14
  # [[-0.5, -0.3, -0.2]]
16
15
  # <class 'float'>