1.(python数模)单函数读取常用文件

Python单函数读取常用文件

代码如下:

import pandas as pd


# 读取数据文件
def readDataFile(readPath):  # readPath: 数据文件的地址和文件名
    try:
        if (readPath[-4:] == ".csv"):
            dfFile = pd.read_csv(readPath, header=0, sep=",")  # 间隔符为逗号,首行为标题行
            # dfFile = pd.read_csv(filePath, header=None, sep=",")  # sep: 间隔符,无标题行
        elif (readPath[-4:] == ".xls") or (readPath[-5:] == ".xlsx"):  # sheet_name 默认为 0
            dfFile = pd.read_excel(readPath, header=0)  # 首行为标题行
            # dfFile = pd.read_excel(filePath, header=None)  # 无标题行
        elif (readPath[-4:] == ".dat"):  # sep: 间隔符,header:首行是否为标题行
            dfFile = pd.read_table(readPath, sep=" ", header=0)  # 间隔符为空格,首行为标题行
            # dfFile = pd.read_table(filePath,sep=",",header=None) # 间隔符为逗号,无标题行
        else:
            print("不支持的文件格式。")
    except Exception as e:
        print("读取数据文件失败:{}".format(str(e)))
        return
    return dfFile


if __name__ == '__main__':
    readPath = "C:/Users/lenovo/Desktop/lut.xls"  # 数据文件的地址和文件名
    dfFile = readDataFile(readPath)  # 调用读取文件子程序

    print(type(dfFile))  # 查看 dfFile 数据类型
    print(dfFile.shape)  # 查看 dfFile 形状(行数,列数)
    print(dfFile.head())  # 显示 dfFile 前 5 行数据


代码讲解

1、readPath[-4:]是对字符串切片,选取了倒数4位,也就是.以及.后面的文件格式。

2、read_csv是pd下读取.csv格式文件的函数。主要包括三个属性(路径,header,sep),路径是读取文件存放的路径,

3、header=0的含义,下图为源文件,
在这里插入图片描述
当设置header=0时表示首行为标题行,我们打印读取结果的前五行数据会发现自动读取了标题
在这里插入图片描述
当设置header=1时,将第一行数据行作为读取数据的标题行,因此整体数据会少了一行,从500变为499
在这里插入图片描述
当header不设置时,默认第0行为标题行
在这里插入图片描述
当设置为header=None时,会认为原有数据没有标题行,并自动生成一个0开始的标题行。在这里插入图片描述

4、try 和except是捕获任何异常,并在发生异常时打印出错误信息。这样做是为了帮助调试和排除问题。你的代码在捕获异常后使用print函数将错误信息输出到控制台。这样,如果打开数据文件时出现任何问题,你都可以看到错误信息以便进行分析和修复。

5、return dfFile 表示该函数返回一个dataframe对象,变量名为dfFile,下面就可以对dtFile进行操作了

6、type(dfFile)能够查看dtFile的类型,dfFile.shape可以查看dtFile的行列数,dfFile.head()可以查看dtFile的前5行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海绵波波107

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值