やりたい事
簡単にdef excel_inputというモジュールを設定し、エクセルファイルを得ようとしているんですが、なかなか何処が間違っているのかがよくわからないです。
エラー文では、strクラス結果を返すところがあり、エラーが起きていると書いていますが、自分がどこをstring結果がでるように設定したのかよくわからないです!
どうか、知恵を貸して下さい!
エラー
Message File Name Line Position Traceback <module> I:\セーブファイル\研究スタート\2018\プログラミング関連\0718\targeting example 0709.py 60 excel_input I:\セーブファイル\研究スタート\2018\プログラミング関連\0718\targeting example 0709.py 51 append C:\Users\powwe\AppData\Local\Programs\Python\Python36-32\lib\site-packages\openpyxl\worksheet\worksheet.py 788 _invalid_row C:\Users\powwe\AppData\Local\Programs\Python\Python36-32\lib\site-packages\openpyxl\worksheet\worksheet.py 868 TypeError: Value must be a list, tuple, range or generator, or a dict. Supplied value is <class 'str'>
import os import re import openpyxl import itertools from openpyxl import Workbook path = "D:/2018/result/Ac-" os.chdir(path) K_infinite_list=[] K=[0] name = ["K_infinite_list","K"] NAME = [K_infinite_list,K] def sub1_1(): pattern = re.compile("final estimated") try: with open ("2251-1o","r") as file: # open file for reading text. for linenum2, line in enumerate(file): # Keep track of line numbers. if pattern.search(line) != None: # If substring search finds a match, K_infinite_list.append((linenum2, line.rstrip('\n'))) # strip linebreaks, store line and line number in list as tuple. print (linenum2) return linenum2 except FileNotFoundError: # If log file not found, print("Log file not found.") # print an error message. def sub2_1(): linenum2 = sub1_1() with open ("2251-1o","r") as file: for line in itertools.islice(file, linenum2-1, linenum2): return line def excel_input(): wb = Workbook() ws = wb.active ws = wb.create_sheet("Ac") data = [name, K_infinite] for row in data: ws.append(row) wb.save("Actinide.xlsx") file = open("2251-1o","r") K_infinite_line = sub2_1() K_infinite = str(K_infinite_line)[1:87] print (K_infinite) excel_input()

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。