csvの加工
ちょっと進化した。
import csv import pprint import sys import os import glob # usage # python3 transErrorMessage.py def replaceRet(txt: str): return txt.replace("\n", "\\n") def wrapDQ(txt): return "\""+txt+"\"" surfix = "_SEMISELF" def main(filepath): if len(filepath)>0: transFile(filepath) return l = glob.glob("./*.csv") for f in l: transFile(f) return def transFile(filePath): translatedText = transTexts(filePath) filenameWithExt = os.path.basename(filePath) filename = os.path.splitext(filenameWithExt)[0] newfilepath = "./out/error_"+filename+".csv" # フォルダなければ作る file_path = os.path.dirname(newfilepath) if not os.path.exists(file_path): os.makedirs(file_path) with open(newfilepath,"w") as f: f.write(translatedText) def transTexts(filePath): returnText = "" with open(filePath) as f: # print(f.read()) reader = csv.reader(f) skip = True for row in reader: # print(row[0]) if len(row)<=5:# row[5]までつかうので continue if skip: if row[0] == "No": skip = False continue else: continue message = wrapDQ(replaceRet(row[4])) message_SS = wrapDQ(replaceRet(row[5])) text = wrapDQ(row[1]) + " = " + message + ";"+"\n" text_ss = wrapDQ(row[1]+surfix) + " = " + message_SS + ";"+"\n" returnText = returnText + text + text_ss return returnText # 実行部 filepath = "" if len(sys.argv)>2: filepath = sys.argv[1] main(filepath)