• Python文件处理(txt、csv文件读取)


    打开文件

    使用Python内置的方法 open()可以打开文件

    file object = open(file_name [, access_mode][, buffering])
    • file_name:file_name变量是一个包含了你要访问的文件名称的字符串值
    • access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)
    • buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认

    常用文件打开模式

    模式 描述
    r 以只读方式打开文件
    rb 以二进制格式打开一个文件用于只读
    w 打开一个文件只用于写入
    a 打开一个文件用于追加,新的内容将会被写入到已有内容之后,如果该文件不存在,创建新文件进行写入

    文件读取

    line=f.read()
    line1=f.readline()
    line2=f.readlines()
    • read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中
    • readline() 每次只读取一行
    • readlines()一次性读取文件所有行 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理

    关闭文件

    f.close()

     一、txt文件

    读取txt文件

    案例:读取stu_info.txt文件内容,并将所有文件中学生名称显示出来

    f=open("stu_info.txt",'r')
    # l=f.read()
    # print(l)
    # line1=f.readline()
    # print(line1)
    lines=f.readlines()
    print(lines)
    
    for line in lines:
        # print(line)
        name=line.split(',')[0]
        age=line.split(',')[1]
        city=line.split(',')[2]
        print(name,age,city)

    运行结果:

    ['Jack,25,Beijing ', 'Bob,22,Shanghai ', 'Harry,24,Shenzhen ', 'Nancy,23,Chengdu']
    Jack 25 Beijing

    Bob 22 Shanghai

    Harry 24 Shenzhen

    Nancy 23 Chengdu

    split()方法语法

    str.split(str="", num=string.count(str))

    参数:

    • str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等
    • num -- 分割次数

     二、csv文件

    csv即为逗号分隔值(Comma-Separated Values,CSV),有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)

    csv文件读取

    案例:读取Stu_info.csv文件里所有学生信息

    import csv   # 导入csv包
    # 读取本地CSV文件
    csv_file=csv.reader(open("Stu_info.csv",'r'))
    # 循环输出每一行信息
    for stu in csv_file:
        print(stu)

    csv文件写入

    stu=['hugh',25,'Beijing']
    stu1=['rain',28,'Wuhan']
    # 打开文件
    out=open('Stu_info.csv','a',newline='')   # 'a'是追加,'w'是覆盖
    # 设定写入方式
    csv_write=csv.writer(out,dialect='excel')
    # 写入具体内容
    csv_write.writerow(stu)
    csv_write.writerow(stu1)
    print("Write file over!")
  • 相关阅读:
    Spring Boot简明教程之实现Web开发及常用参数获取方式分析
    SpringBoot 简明教程之项目属性配置(三):配置文件优先级及多配置切换
    史上最简单MySQL教程详解(进阶篇)之存储过程(二)
    史上最简单MySQL教程详解(进阶篇)之存储过程(一)
    文字从中间向两边延展
    字符串转化成驼峰命名
    统计字符串字符个数
    while求和(1到100)
    for循环实现乘阶
    递归遍历所有ul下的所有子节点
  • 原文地址:https://www.cnblogs.com/NancyRM/p/8038643.html
Copyright © 2020-2023  润新知