

フォルダ内の.logというファイルを順次読み込み、.txtというファイルに書き出す処理を行っていますが、  
out.write(line.split() + "\n")でcan only concatenate str (not “int”) to
strというエラーが  
発生してしまいます。

調べてみると、「数値を文字列にする」ということですが、下記コードの場合、どの様に、文字列型に変換すればよいのでしょうか？

[code]

    import glob
    
    # カレントディレクトリのフィル名取得
    files = glob.glob('*.log')
    
    # 取得したファイルを1ファイルずつ読み込み
    for file in files:
    
        # ファイル名の拡張子の前だけ取り出し
        newfilename = file.split(".")[0]
       
    
        with open(newfilename + '.txt','w') as out:
    
            # 取得したファイルを開き1行読み込み
            with open(file, 'r', encoding='shift-jis') as f:
                line = f.readline()
    
                # ファイルを最終行まで読み込み
                while line:
                    
                    # 数字で始まるときだけ、.txtへ書き込み
                    if line[0] >= '0' and line[0] <= '9':
                        out.write(",".join(line.split()) + "\n") # ここでエラー発生!!
                    line = f.readline()
    
[/code]

カレントディレクトリ内にある.logファイル  
test1.log

[code]

    ID   name     price
    1    リンゴ　100
    NG   -      -
    2    みかん　150
    
[/code]

test2.log

[code]

    ID   name     price
    3    ごはん　100
    4    みそしる　150
    NG   -        -
    5    ニンジン 10
    
[/code]

テキスト書き出し後↓  
test1.txt

[code]

    ID,name,price
    1,リンゴ,100
    2,みかん,150
    
[/code]

test2.txt

[code]

    ID,name,price
    3,ごはん,100
    4,みそし,150
    5,ニンジン,10
    
[/code]


CC BY-SA 4.0
2022-11-23T07:20:30.237
92392
2022-11-23T07:47:37.560
2022-11-23T07:47:37.560
question
python python3
can only concatenate str (not “int”) to strについて