四、Python文件操作

描述:Python的文件操作涉及对文件的读/写与编码的处理。

 

1、两种写法

  1.1 第一种

1 f = open('文件路径', '文件操作方式', encoding='utf-8')
2 对文件操作
3 f.close()

  1.2 第二种

1 with open('文件路径', '文件操作方式', encoding='utf-8') as f:
2     通过f来读取文件

 

2、使用python读文本文件

  如果非要使用“~”表示“home”目录, 需要使用python的“os”模块:

  1 import os

  2 real_path = os.path.expanduser('~/project/xxx')  

  参数encoding在打开文件的时候将文件转换成utf-8编码格式,从而避免乱码的出现。

  读取所有行,并以列表的形式返回结果:

   1 f.readlines() 

  直接把文件里面的内容用一个字符串返回:

   1 f.read() 

3、使用python写文本文件

1 with open('文件路径', 'w', encoding='utf-8') as f:
2     通过f来写文件

  直接将一大段字符串写入到文本中:

   1 f.write('一大段文字') 

  将列表里面的所有字符串写入到文本中:

   1 f.writelines(['第一段话','第二段','第三段']) 

4、使用python读写CSV文件

  4.1 说明  

   (1)CSV文件可以用Excel或则Numbers打开,得到可读性很高的表格

   (2)使用python的CSV模块,可以将CSV文件的内容转换为python字典。

  4.2 python读CSV文件

  (1)导入CSV模块

     import csv 

  (2)csv本质上是文本文件,需要先以文本文件的方式打开,再将文件对象传递给CSV模块 

1 with open('example.vsv', 'r', encoding='utf-8') as f:
2     reader = csv.DictReader(f)
3     for row in reader:
4         print(row)
5 #  也可以用迭代方式
6 #  reader = [row for row in csv.DictReader(f)]

  4.3 python写CSV文件

  (1)说明

    a.python可以把一个字典写成CSV文件,或者把一个包含字典的列表写成CSV文件。

    b.python写CSV文件比读CSV文件复杂一点,要指定列名(fieldnames),列名要和字典的Key一个一个对应

  (2)写入csv文件的列名行

     writer.writeheader() 

  (3)将包含字典的列表全部写入到csv文件中

     writer.writerow(字典) 

  (4)格式

1 with open('example.csv', 'w', encoding='utf-8'):
2     writer = csv.DictWriter(f, fieldnames=['Key1','Key2'])
3     writer.writeheader()
4     writer.writerows(字典)
5 #  单行写入 
6 #  writer.writerow({})

 

posted @ 2020-02-09 14:54  Norni  阅读(172)  评论(0编辑  收藏  举报