• Python3 -- 文件I/O总结(with、read、write、txt、CSV等)


    Python3 文件读写总结:

    普通文件格式(txt/无文件后缀):

    读文件:

    read():

    1. 特点:读取整个文件,将文件内容放到一个字符串变量中。

    2. 缺点:如果文件非常大,尤其是大于内存时,无法使用read()方法。

    readline():

    1. 特点:readline()方法每次读取一行;返回的是一个字符串对象保持当前行的内存

    2. 缺点:比readlines慢的多

    readlines():常用

    1. 特点:一次性读取整个文件;自动将文件内容分析成一个行的列表

    写文件:

    writer():

    1. 语法:fileObject.write( [ str ])
    2. str: 字符串
    3. 返回值:返回的是写入的字符长度

    writelines() :常用

    1. 语法:fileObject.writelines( [ str ])
    2. str: 要写入文件的字符串序列, eg: ["菜鸟教程 1 ", "菜鸟教程 2"]
    3. 返回值:无
    4. 实例:
      with open(filepath, 'w', encoding='utf8') as f: 
        f.writelines(['武汉加油! ', '中国加油! '])

    CSV文件格式:

    读文件: 

    csv.reader():

    1. 返回值:是一个_csv.reader的对象
    2. 我们可以对这个对象进行遍历,输出每一行,某一行,或某一列
    3. 实例1:
      # 读取所有
      import csv
      with open('data.csv', 'r') as f:
          reader = csv.reader(f)
          print(type(reader))
         
          for row in reader:
              print(row)
    4. 实例2:
      # 获取某一行
      import csv
      with open('data.csv', 'r') as f:
          reader = csv.reader(f)
          result = list(reader)
          print(result[1])
    5. 实例3:
      # 获取某一列
      import csv
      with open('data.csv', 'r') as f:
          reader = csv.reader(f)
          for i in reader:
              print(i[0])

    写文件:

    writerow([]):

    1. 单行写入
    2. 参数形式:['步惊云','36']
    3. 实例:
    import csv
    with open('test.csv','w',newline='') as f:
        writer = csv.writer(f)
        writer.writerow(['步惊云','36'])
        writer.writerow(['超哥哥','25'])

    writerows([(), (), ... , ()]):

    1. 多行写入
    2. 参数形式:[('聂风','36'),('秦霜','25'),('孔慈','30')]
    3. 实例:
      import csv
      with open('test.csv','w',newline='') as f:
          writer = csv.writer(f)
          writer.writerows([('聂风','36'),('秦霜','25'),('孔慈','30')])
  • 相关阅读:
    商业智能领域需要了解的数据库优化理论
    动态监听与静态监听(转载)
    Oracle查看表结构的几种方法
    PLSQL Developer使用技巧整理
    Oracle数据库的三种验证机制
    EAV模型
    三门问题
    第一个python实例程序
    type()
    pi
  • 原文地址:https://www.cnblogs.com/gengyufei/p/12831196.html
Copyright © 2020-2023  润新知