python读取遍历txt、csv文档中的数据,包括科学计数法的数据以及plot等

python读取txt文档中的数据

参考: https://blog.csdn.net/ggj0727/article/details/120605935
之前用的是loadtxt读取txt文件,后来读取数据时报错,说不能转换为float类型,查了一下,loadtxt函数只能读取数据类型,否则会报错,而数据有时候用科学计数法记录,就需要用pd.read_table函数

其中,path均指的是储存数据文件夹的路径,因为要的去此文件夹下的所有文件的数据。

// 读取csv文件的数据
def readfile_ART(path):
    files = os.listdir(path)
    # 将acc文件挑选出来
    files = list(filter(lambda x: x[0:4]=='acc_' , files))
    # 解决乱序问题,以第5位到倒数第4位之间的数字的大小排序
    files.sort(key=lambda x :int(x[5:-4]))

    rowdata = []
    for file in files:
        info = path +"/" +file  #应该是读取数据之后,转换为矩阵
        # 将csv文件里的数据转换成矩阵
        data = np.loadtxt(open(info, "rb"), delimiter=',', skiprows=0)   #delimiter分割符,skiprows为选择跳过的行数,返回的是ndarray类型
        rowdata = np.hstack((rowdata, data[:, 5]))  #将元组按水平方向叠加
    return(rowdata)

//读取txt文件
def readfile_NI(path):
    files = os.listdir(path)

    rowdata = []
    for file in files:
        info = path +"/" +file  #应该是读取数据之后,转换为矩阵
        # 将csv文件里的数据转换成矩阵
        print('info')
        print(info)

        # data = np.genfromtxt(files, dtype=[string])  # 将文件中数据加载到data数组里
        # data = np.loadtxt(open(info, "rb"), delimiter='\n', skiprows=0)   #delimiter分割符,skiprows为选择跳过的行数,loadtxt要求读取的数据必须是数字类型,否则报错
        data = pd.read_table(info, header=None, delim_whitespace=True)  #返回的是dataframe类型

        print('data')
        print(data)
        # rowdata = np.hstack((rowdata, data[:, 1]))  #将元组按水平方向叠加
    return(rowdata)

有关列的拼接: https://blog.csdn.net/qq_39516859/article/details/80666070

之前用的是hstack和vstack,忘记是如何拼接的了。
hstack是将数据中的每一行进行拼接,列不变,行的长度改变

一行转换为一列: https://blog.csdn.net/w_weixiaotao/article/details/111869226
包括reshape(-1,1)是什么意思,是任意行一列,所以可用来将数据转换为一列

遍历多层文件夹
链接: https://blog.csdn.net/s740556472/article/details/80574631
用os.walk

你可能感兴趣的:(python,开发语言)