zoukankan      html  css  js  c++  java
  • 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')])
  • 相关阅读:
    bzoj2733 永无乡 平衡树按秩合并
    bzoj2752 高速公路 线段树
    bzoj1052 覆盖问题 二分答案 dfs
    bzoj1584 打扫卫生 dp
    bzoj1854 游戏 二分图
    bzoj3316 JC loves Mkk 二分答案 单调队列
    bzoj3643 Phi的反函数 数学 搜索
    有一种恐怖,叫大爆搜
    BZOJ3566 概率充电器 概率dp
    一些奇奇怪怪的过题思路
  • 原文地址:https://www.cnblogs.com/gengyufei/p/12831196.html
Copyright © 2011-2022 走看看