返回顶部

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\n", "菜鸟教程 2"]
  3. 返回值:无
  4. 实例:
    with open(filepath, 'w', encoding='utf8') as f: 
      f.writelines(['武汉加油!\n', '中国加油!\n'])

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')])
posted @ 2020-05-05 16:27  Be-myself  阅读(604)  评论(0编辑  收藏  举报
levels of contents 点击查看具体代码内容