2列のリストをPythonで2列のテキストファイルに変換します。最初の列型はdatetime.datetime型で、もう1つはfloat型です。私は、私が望む形式にファイルを書き込む際に問題があります。これは私のスクリプト(それはおそらくずさんで非効率だ)です。2リストを2列のテキストファイルに変換する
["['2015-08-17 10:11:18', '27.572']", "['2015-08-17 10:31:18', '27.549']", "['2015-08-17 10:51:18', '32.964']", "['2015-08-17 11:11:18', '31.038']"
私のようなルックスにそれをしたい:出力は次のようになります
from dateutil.parser import parse
surface='EPsurface_21Oct2015Compensated.LEV'
dataS=[]
levelS=[]
tempS=[]
dateS=[]
with open(surface,mode='r', encoding='latin_1') as fileobj:
for line in fileobj:
try:
words=line.split()
dateS.append(parse('{0} {1}'.format(words[0],words[1])))
tempS.append(float(words[3]))
except (TypeError,IndexError):
pass
filenames=[]
#Put both columns into one list
for i in range(len(tempS)):
filenames.append([dateS[i],tempS[i]])
#Convert items into string
for i in range(len(filenames)):
filenames[i][0]=str(filenames[i][0])
filenames[i][1]=str(filenames[i][1])
for i in range(len(filenames)):
filenames[i]=str(filenames[i])
filenames=str(filenames)
newfiles ='\n'.join(filenames)
with open('testing.txt','w') as f:
f.write(filenames)
'2015-08-17 10:11:18',27.572
'2015-08-17 10:31:18', 27.549
'2015-08-17 10:51:18', 32.964
はあなたのリストのファイル名ですか? – Bahrom
はい、ファイル名は1つのリストとしての日付と時刻です。 – Strak