Python不会读取循环中的所有文件来关联pd dfs

2024-09-27 18:07:59 发布

您现在位置:Python中文网/ 问答频道 /正文

$1.此代码有效,仅适用于我数据库中的4个文件。它不会读取所有文件并追加到框架中。我试图在一个循环中连接多个Trend.csv文件(200)

  frame =[]
  for raw_file_name in raw_files:
      input_raw_path = os.path.join(raw_path, raw_file_name, 'log.txt')
      if os.path.isfile (input_raw_path):
          with open(input_raw_path, encoding= "Latin-1") as f:
              ts = f.readline(19).split()[1]

              input_superecg_path = os.path.join(superecg_path, raw_file_name, 'Trend.csv')
              if os.path.isfile (input_superecg_path):
                  df = pd.read_csv(input_superecg_path)
                  df['File'] = raw_file_name
                  df['Time'] = pd.timedelta_range(ts, freq='T', periods=df.shape[0], name='Time')
                  df = pd.melt(df, id_vars = ['Time', 'File'], var_name = 'Parameter', value_name = 'Value')
                  frame.append(df)


  frame = pd.concat(frame, keys = ['Time','File','Parameter','Value'])

2美元。我的相框只能放4个文件,而不是200个

    In [61]: frame.info()
<class 'pandas.core.frame.DataFrame'>
MultiIndex: 298688 entries, (Time, 0) to (Value, 74671)
Data columns (total 4 columns):
Time         298688 non-null timedelta64[ns]
File         298688 non-null object
Parameter    298688 non-null object
Value        237502 non-null float64
dtypes: float64(1), object(2), timedelta64[ns](1)
memory usage: 10.5+ MB

In [62]: frame.File.unique()
Out[62]: 
array(['ICC000013 RASESG0347  1', 'ICC000019  1',
   'ICC000020 RASESG0341  1', 'ICC000021 RASESG0075  1'],       dtype=object)
In [64]: len(raw_files)
Out[64]: 201

Tags: 文件pathnamedfinputrawtimevalue

热门问题