前提・実現したいこと
ExcelのA列の値を1つずつ取り出してテキストファイルのタイトルに入力し、保存したいと考えています。
今のコードですとテキストファイルのタイトルが('A列の値',).txtとなってしまいます。
この()と'',を削除するにはどうしたらいいでしょうか。
該当のソースコード
Python
1#! python3 2# -*- coding: utf-8 -*- 3 4# excel2txt.py 5# 概要: 6# 引数に指定したexcelファイルを読み込んで、新規ディレクトリにtxtファイルを作成していきます。 7# 指定されたexcelファイルのアクティブシートが対象となります。 8# txtファイルは、A列、B列...の順に作成されていきます。 9# ディレクトリはこのスクリプトを実行した場所に作られます。 10# ディレクトリ名は、「excel2txt_ワークシート名」になります。 11# excelファイルの拡張子は.xlsxのみ対応します。 12# 使い方: 13# excel2txt.pyを実行してください。 14# 引数にはexcelファイル名を入力してください。 15# 実行例: 16# $ ls 17# excel2txt.py example.xlsx 18# $ python excel2txt.py example.xlsx 19 20import sys 21import os 22import openpyxl 23 24# コマンドライン引数の取得する 25if not len(sys.argv) == 2: 26 print('Usage: python excel2txt.py file_name.xlsx') 27 print(' One argument must required.') 28 print('example: python excel2txt.py example.xlsx') 29 sys.exit() 30# ファイルパスを変数に格納する 31file_path = sys.argv[1] 32 33# ファイルの存在を確認する。 34if not os.path.isfile(file_path): 35 print(file_path) 36 print(file_path + ' is not exist.') 37 sys.exit() 38# excelファイルとみなす拡張子を設定する 39ext = 'xlsx' 40# ファイル名の拡張子を確認してxlsxだったら処理を開始する。 41if ext in file_path.rsplit('.')[-1]: 42 43 # excelファイルを読み込んでシートのタイトルを取得し、シートの存在を確認する 44 try: 45 wb = openpyxl.load_workbook(file_path) 46 ws = wb.active 47 ws_title = ws.title 48 except AttributeError: 49 print('Sheet dose not exist in "' + file_path + '".') 50 sys.exit() 51 52 # ディレクトリを新規作成する 53 dir_name = 'excel2txt_' + ws_title 54 try: 55 os.mkdir(dir_name) 56 except FileExistsError: 57 print('Directory of ' + dir_name + ' exists.') 58 sys.exit() 59 # ディレクトリを移動する 60 os.chdir(dir_name) 61 62 # A列の値を1つずつテキストファイルのタイトルに入力し保存 63 for cell_value in ws.iter_rows(max_col=1, values_only=True): 64 file_name = str(cell_value) + '.txt' 65 file = open(file_name, mode='w', encoding='utf-8') 66 file.close() 67 68else: 69 print(file_path + ' is not excel file.') 70 sys.exit()
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/15 11:16
2021/03/15 14:08
2021/03/16 03:49