ファイルをcsvに書き込んでいますが、リストインデックスが範囲外です。ここに私のコードです。 85個のファイルがあるディレクトリがあります。リストのインデックスがpythonで範囲外になっています。ファイルをcsvに書き出します。
import os
import os.path
import csv
import re
import calendar
path = 'C:\\Users\\akhilpriyatam.k\\Desktop\\xls'
text_files = [os.path.splitext(f)[0] for f in os.listdir(path)]
for v in text_files:
os.chdir('C:\\Users\\akhilpriyatam.k\\Desktop\\xls')
with open('file1.csv', 'wb') as csvfile:
thedatawriter = csv.writer(csvfile,delimiter=',')
for v in text_files:
months = list(calendar.month_name[1:])
regex = re.compile('|'.join(months))
iter = re.finditer(regex, v)
if iter:
idx = [i for i in iter][0].start()
filename, timestamp = v[:idx],v[idx:-4]
print filename, timestamp
thedatawriter.writerow([filename,timestamp])
ここはエラーです。
IndexError Traceback (most recent call last)
<ipython-input-145-0b1c3f1407ed> in <module>()
15 iter = re.finditer(regex, v)
16 if iter:
---> 17 idx = [i for i in iter][0].start()
18 filename, timestamp = v[:idx],v[idx:-4]
19 print filename, timestamp
IndexError: list index out of range
** FULL **エラーメッセージ(トレースバック) - 多くの有用な情報があります。のどの行問題など –
furas
はIndexErrorトレースバック(最新の呼び出しの最後) を作る() 15 ITER = re.finditer(正規表現、V) 16 ITERの場合: - タイムスタンプ= v [:idx]、v [idx:-4] 19プリントファイル名、タイムスタンプ IndexError:リストインデックス範囲外である –
は、問題の 'Traceback'を追加します。読みやすくなり、誰もがそれを読むでしょう。 – furas