使用CSV某块读取CSV文件
` CSV文件开头有多行说明,有汉字,有效数据是ASCII,直接读取时数据无法被代码使用
导入模块:
import os # 用于遍历目录中的文件。
import numpy as np # 用于处理 numpy 矩阵(虽然在这个示例中主要用 pandas)。
import matplotlib.pyplot as plt # 用于画图,本文未使用
读取单个CSV文件
定义 read_csv_to_numpy_matrix 函数:
- file_path 是单个 CSV 文件的完整路径。
- start_row 从指定行开始读取。
初始化列表:
data = [] 用于存储单个 CSV 文件的数据矩阵。
打开文件、关闭文件
with open(file_path, mode='r', newline='', encoding='utf-8') as file:
file.close()
读取文件
csv_reader = csv.reader(file)
跳过标题行
header = next(csv_reader)
读取指定行的内容
for current_row, row in enumerate(csv_reader, start=1):
if current_row >= start_row: # 从指定行开始读取数据
data.append([float(x) for x in row])
将数据转换为 numpy 矩阵
matrix = np.array(data)
返回数据
return matrix
读取目录下所有CSV文件
定义 read_csv_files_to_dict 函数:
- directory_path 是包含 CSV 文件的目录路径。
- start_row 从指定行开始读取。
初始化字典:
matrices = {} 用于存储每个 CSV 文件的数据矩阵。
遍历目录中的文件:
使用 os.listdir(directory_path) 获取目录中的所有文件。
检查文件名是否以 .csv 结尾。
读取和处理 CSV 文件:
使用 read_csv_to_numpy_matrix(file_path, start_row) 读取 CSV 文件到 DataFrame。
存储矩阵到字典:
将矩阵放入 matrices 字典中,键为文件名。
返回字典:
函数返回包含所有 CSV 文件数据矩阵的字典。
示例用法:
调用 read_csv_files_to_dict 函数,并将结果存储在 csv_matrices 变量中。
遍历字典并打印每个文件名及其对应的 numpy 矩阵。
注意事项
字典中的键是文件名(包括扩展名)。如果你希望不包括扩展名,可以在存储到字典时进行相应处理。