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

質問編集履歴

3

誤字

2021/03/15 11:59

投稿

SuzuAya
SuzuAya

スコア71

title CHANGED
File without changes
body CHANGED
@@ -12,11 +12,8 @@
12
12
  # excel2txt.py
13
13
  # 概要:
14
14
  # 引数に指定したexcelファイルを読み込んで、新規ディレクトリにtxtファイルを作成していきます。
15
- # 読み込まれたexcelファイルは、列ごとにtxtファイルを作成します。
16
- # 第一引数にはtxtファイルにしたいexcelファイル名を入力します。
17
15
  # 指定されたexcelファイルのアクティブシートが対象となります。
18
16
  # txtファイルは、A列、B列...の順に作成されていきます。
19
- # txtファイル名は、「ワークシート名_0からスタートの整数.txt」となります。
20
17
  # ディレクトリはこのスクリプトを実行した場所に作られます。
21
18
  # ディレクトリ名は、「excel2txt_ワークシート名」になります。
22
19
  # excelファイルの拡張子は.xlsxのみ対応します。

2

コードの修正

2021/03/15 11:59

投稿

SuzuAya
SuzuAya

スコア71

title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,8 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  ExcelのA列の値を1つずつ取り出してテキストファイルのタイトルに入力し、保存したいと考えています。
4
- [こちらのコード](https://gist.github.com/yukinishinet/e544f88484bacd3318fcfb87ce71ce79)を参考にさせていただいているのですが、今のままだと全ての列の値を取り出してしまっていることと、テキストファイルのタイトルではなく中身にエクセルから取り出した値が入力されている状態です。
5
- ①ExcelのA列の値だけを1つずつ取り出す
6
- ②取り出した値をテキストファイルのタイトルに入力し(中身は空白のまま)保存
4
+ 今のコードですとテキストファイルのタイトルが('A列値',).txtとなってします
7
- この2つ実現するには、コードをのよに書き換えたらいでしょうか。
5
+ この()と'',削除するにはどうたらいでしょうか。
8
-
9
6
  ### 該当のソースコード
10
7
 
11
8
  ```Python
@@ -73,12 +70,10 @@
73
70
  # ディレクトリを移動する
74
71
  os.chdir(dir_name)
75
72
 
76
- # シートをごとに取得してファイル作成のループ
73
+ # Aの値を1つずつテキストファイルのタイトに入力し保存
77
- for col in range(ws.max_col):
74
+ for cell_value in ws.iter_rows(max_col=1, values_only=True):
78
- file_name = ws_title + '_' + str(col) + '.txt'
75
+ file_name = str(cell_value) + '.txt'
79
76
  file = open(file_name, mode='w', encoding='utf-8')
80
- for cell in list(ws.cols)[col]:
81
- file.write(str(cell.value) + '\n')
82
77
  file.close()
83
78
 
84
79
  else:

1

誤字

2021/03/15 11:57

投稿

SuzuAya
SuzuAya

スコア71

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ExcelのA列の値を1つずつ取り出してテキストファイルのタイトルに入力し、保存したいと考えています。
4
4
  [こちらのコード](https://gist.github.com/yukinishinet/e544f88484bacd3318fcfb87ce71ce79)を参考にさせていただいているのですが、今のままだと全ての列の値を取り出してしまっていることと、テキストファイルのタイトルではなく中身にエクセルから取り出した値が入力されている状態です。
5
- ①ExcelのA列の値だけを取り出す
5
+ ①ExcelのA列の値だけを1つずつ取り出す
6
6
  ②取り出した値をテキストファイルのタイトルに入力し(中身は空白のまま)保存する
7
7
  この2つを実現するには、コードをどのように書き換えたらよいでしょうか。
8
8