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

質問編集履歴

2

CSVファイルをExcelファイルとご記入していたので変更しました。

2020/10/04 17:22

投稿

S.K12
S.K12

スコア16

title CHANGED
@@ -1,1 +1,1 @@
1
- Pythonで特定の文字がファイル名に入ったExcelファイルを開きたい。
1
+ Pythonで特定の文字がファイル名に入ったCSVファイルを開きたい。
body CHANGED
File without changes

1

一部書き漏れがあったので訂正しました。

2020/10/04 17:21

投稿

S.K12
S.K12

スコア16

title CHANGED
File without changes
body CHANGED
@@ -1,44 +1,57 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- Pythonで特定の文字がファイル名に入ったExcelファイルを開きたい。
3
+ Pythonで特定の文字がファイル名に入ったExcelファイルを開きたいです
4
4
 
5
5
  図で表すと下記のような感じです。
6
6
  ![イメージ説明](1c28afd518047c6711fef959174160a6.jpeg)
7
7
 
8
+ 環境のせいでファイルが見つからないのかと思い、
9
+ AnacondaとVSCodeの2つの環境で試してみたのですが、
10
+ どちらでも結果はFileNotFoundErrorでした。
8
11
 
12
+
9
13
  ### 発生している問題・エラーメッセージ
10
14
 
11
15
  ```
12
- TypeError Traceback (most recent call last)
16
+ FileNotFoundError Traceback (most recent call last)
13
- <ipython-input-5-0e7750be6420> in <module>
17
+ <ipython-input-10-a0ac85c6b89d> in <module>
14
18
  7 if re.match(r'[0-32767]',i): #入力文字が範囲内の数値であるか確認
15
19
  8 j = i.zfill(4) #数値の左にゼロを埋めて4ケタで表示する.
16
- ----> 9 wb=openpyxl.load_workbook('D:\deta\ALL' & j & '\A' & j & 'CH2.csv')
20
+ ----> 9 file = open('D:\deta\ALL' and j and '\A' and j and 'CH2.csv', 'r')
17
- 10
21
+ 10 data = csv.reader(file)
18
- 11 else:
22
+ 11 for row in data:
19
23
 
20
- TypeError: unsupported operand type(s) for &: 'str' and 'str'
24
+ FileNotFoundError: [Errno 2] No such file or directory: 'CH2.csv'
21
25
 
22
26
  ```
23
27
 
24
28
  ### 該当のソースコード
25
29
 
26
30
  ```Python
27
- import openpyxl
31
+ import csv
28
32
  import re
29
33
 
30
- print("データ数を入力して下さい.") #何番目までのALLフォルダを呼び出すかここで指定
34
+ print("データ数を入力して下さい.")
31
35
  i = input() #数値入力
32
36
 
33
37
  if re.match(r'[0-32767]',i): #入力文字が範囲内の数値であるか確認
34
38
  j = i.zfill(4) #数値の左にゼロを埋めて4ケタで表示する.
35
- wb=openpyxl.load_workbook('D:\deta\ALL' & j & '\A' & j & 'CH2.csv')
39
+ file = open('D:\deta\ALL' and j and '\A' and j and 'CH2.csv', 'r')
40
+ data = csv.reader(file)
41
+ for row in data:
42
+ for col in row:
43
+ print(col, end=',')
44
+ print()
45
+ file.close()
36
46
 
37
47
  else:
38
48
  print('利用可能範囲外の入力です.') #文字もしくは範囲外の数値を入力した際に表示
39
49
 
50
+
51
+
40
52
  ```
41
53
 
54
+
42
55
  ### 補足情報(FW/ツールのバージョンなど)
43
56
 
44
57
  windows 64bit