2017-08-03 7 views
-1

私は3000 csvファイル(それぞれ1.csv、2.csv、3.csvというタイトルで3000.csvまで)を実行するようにしています。 。 globやos.listdirのようなものを使わずに、名前を処理するだけでどうすればいいですか?ここでは、コードがどのように見えるかです:自動的にアカウントを1.csvから3000.csvまで

from openpyxl import Workbook 
import csv 
import os 

wb = Workbook() 
ws = wb.worksheets[0] 

header_keys = [] 
for n, fName in enumerate(['3.csv','4.csv','5.csv','6.csv','7.csv','8.csv','9.csv','10.csv','11.csv','12.csv',]): 
with open(fName) as fh: 
    csv_reader = csv.DictReader(fh, fieldnames=['header', 'data'], delimiter=',') 
    if n == 0: 
     for values in csv_reader: 

は、私が(「3.csv」、「4.csv」など)で「列挙」の内側の部分をどう変えるのか?私はそれを "1.csvから3000.csvの番号のファイル"と言うことができる方法はありますか?あなたのCSVファイル名以来

答えて

1
for n, fn in enumerate(range(1,3001)): 
    with open('{0}.csv'.format(fn)) as fh: 

はちょうど範囲から反復してstring formatter to make it easierを使用して#.csvなった新しい文字列を作成して、1から3000まで数字だけです。私はあなたがあなたのwithの物を下にインデントして、それが大きなforループの中にあるようにしたいと思っています。

関連する問題