#実現したいこと
ディレクトリ内のすべてのcsvファイルを一つ読み込んで処理,次のファイルを読み込んで処理していきたいです.
#自分で試したこと
globでファイル名を取り込んで,dfとして取り込む際にglobで取得したファイル名を参照するようにしました.以下ソースコードです.あらかじめ各種のimportがなされているとしてください.
python3.x
1for x in glob.glob('../csvex/*.csv'): 2 print(x) 3 4 df = pd.read_csv('x', usecols=[0,1,2,3,4] , skiprows=20) 5 6 #Vmoniの検出,ここでは平均値を用いた. 7 vmoni = df['CH4'].mean() 8 9 #印加電圧v[kV] 10 v = vmoni*5 11 12 #しきい値電圧を設定して、それ以上の電圧がある行を抽出 13 v_t = vmoni * 0.8 14 df_beyondV=df.query('CH1 > @v_t') 15 16 #行の長さに時間の刻み幅を掛けてしきい値電圧を超えた時間を導出 17 pulselen = len(df_beyondV) * 8E-10 18 19 #基準の時間を定義する 20 tlim = 0.8 * t 21 22 #基準の時間としきい値電圧を超える時間の長さを比較 23 if pulselen > tlim : 24 i = 0 25 else: 26 i=1 27 28 #放電と判断したら1ずつ足していく 29 i = i+1 30 print(i) 31
#エラーメッセージ
結果以下のようなエラーが表示されます.
python3.x
1FileNotFoundError Traceback (most recent call last) 2<ipython-input-4-20aa55f0bb04> in <module> 3 7 print(x) 4 8 5----> 9 df = pd.read_csv('x', usecols=[0,1,2,3,4] , skiprows=20) 6 10 7 11 #Vmoniの検出,ここでは平均値を用いた. 8 9~\Anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision) 10 700 skip_blank_lines=skip_blank_lines) 11 701 12--> 702 return _read(filepath_or_buffer, kwds) 13 703 14 704 parser_f.__name__ = name 15 16~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds) 17 427 18 428 # Create the parser. 19--> 429 parser = TextFileReader(filepath_or_buffer, **kwds) 20 430 21 431 if chunksize or iterator: 22 23~\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, f, engine, **kwds) 24 893 self.options['has_index_names'] = kwds['has_index_names'] 25 894 26--> 895 self._make_engine(self.engine) 27 896 28 897 def close(self): 29 30~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine) 31 1120 def _make_engine(self, engine='c'): 32 1121 if engine == 'c': 33-> 1122 self._engine = CParserWrapper(self.f, **self.options) 34 1123 else: 35 1124 if engine == 'python': 36 37~\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, src, **kwds) 38 1851 kwds['usecols'] = self.usecols 39 1852 40-> 1853 self._reader = parsers.TextReader(src, **kwds) 41 1854 self.unnamed_cols = self._reader.unnamed_cols 42 1855 43 44pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.__cinit__() 45 46pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source() 47 48FileNotFoundError: [Errno 2] File b'x' does not exist: b'x'
よろしくお願いします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/08 08:49