首页 > 解决方案 > 用于读取的 csv 容器

问题描述

我有一个充满 csvs 的文件夹。所有 csv 各有一列。它们都代表 3 类 3 个信号样本 A、B 和 C(总共 240 个/每个信号 80 个)。我正在开发一个能够读取该文件夹中所有文件的 SVM 模型。由于数据没有长度。我正在考虑将每个文件的 10000 行传递给模型。我的问题是,我怎样才能拥有一个像下面这样的阅读器?

 signal_data[1][:10000]

上面的行表示文件号 1,最多 10000 行。就像把我所有的 csvs 放在一个 csvs 列表中

所以对于信号部分,我可以做这样的事情:

for i in range(len(signal_data)):
coef, freq=pywt.cwt(signal_data[i][:10000], scales, 'morl')
features =np.vstack([features, pca.fit_transform(coef).flatten()])

标签: pythonsignal-processingdata-processingwavelet

解决方案


我通过将我读到的所有 csv 连接成一个来完成它,用于列出函数。但是还有很多其他方法可以做到这一点。我认为它有点长,但这里是我的解决方案:

path =r'C:\KingP\myfolder' # use your path
allFiles = glob.glob(path + "/*.csv")
frame = pd.DataFrame()
list_ = []
for file_ in allFiles:
   df = pd.read_csv(file_,index_col=None, header=0)
   list_.append(df)
frame = pd.concat(list_)

然后把全部转置,并习惯了holist函数:

frame= frame.values.T.tolist()

推荐阅读