folder_path = r'D:\pythonProject\csv' file_list = os.listdir(folder_path) for file_name in file_list: subfolder_path = os.path.join(folder_path, file_name) if os.path.isdir(subfolder_path): # 进入子文件夹 os.chdir(subfolder_path) # 获取子文件夹中的.csv文件列表 csv_list = [f for f in os.listdir(subfolder_path) if f.endswith('.csv')] # 读取.csv文件 dfs = [] for csv_file in csv_list: df = pd.read_csv(csv_file, header=None) dfs.append(df) csv_folder_name = os.path.basename(subfolder_path) last_char = csv_folder_name[-1] wave = [0]*256 # form = [] records = dfs beat = [0]*len(records) i = 0 for wave in records: form = last_char # print(wave) # print(form) beat[i] = [wave, form] # print('beat[{}] ='.format(i), beat[i]) # print('len(beat[{}]) ='.format(i), len(beat[i])) i = i + 1 # 划分特征与标签 for i in range(len(beat)): i = 0 beat = beat[i] X = [item[0] for item in beat] y = [item[1] for item in beat] print(X, y) i = i + 1
时间: 2024-01-22 20:03:58 浏览: 149
这段代码的功能是读取指定文件夹中所有子文件夹中的 .csv 文件,将它们转换成 Pandas 的 DataFrame,并将 DataFrame 中的数据分别存入列表中。然后,将列表中的数据划分成特征和标签。
在代码的最后一段中,你用了两个循环,其中第一个循环是无用的,因为在循环体内部你将 `i` 的值又赋值为了 0,因此这个循环不会执行任何操作。第二个循环是用来划分特征和标签的,但是在循环体内部你又将 `i` 的值设置为了 0,因此这个循环也只会执行一次。为了将所有的数据都划分成特征和标签,你需要将这个循环放在第一个循环的内部,像这样:
```
for file_name in file_list:
subfolder_path = os.path.join(folder_path, file_name)
if os.path.isdir(subfolder_path):
# 进入子文件夹
os.chdir(subfolder_path)
# 获取子文件夹中的.csv文件列表
csv_list = [f for f in os.listdir(subfolder_path) if f.endswith('.csv')]
# 读取.csv文件
dfs = []
for csv_file in csv_list:
df = pd.read_csv(csv_file, header=None)
dfs.append(df)
csv_folder_name = os.path.basename(subfolder_path)
last_char = csv_folder_name[-1]
wave = [0]*256
# form = []
records = dfs
beat = [0]*len(records)
i = 0
for wave in records:
form = last_char
# print(wave)
# print(form)
beat[i] = [wave, form]
# print('beat[{}] ='.format(i), beat[i])
# print('len(beat[{}]) ='.format(i), len(beat[i]))
i = i + 1
# 划分特征与标签
for i in range(len(beat)):
beat_i = beat[i]
X = [item[0] for item in beat_i]
y = [item[1] for item in beat_i]
print(X, y)
```
这样,就可以正确地将所有的数据划分成特征和标签了。
阅读全文