python中常用的文件读写方法(txt文本文件,excel文件,CVS文件,mat文件)

一、txt类文本文件的读写

        使用python处理数据文件较多,而且大部分数据文件保存在文本文件中(例如:‘  .txt   ’,  '  .json  '   文件) 

        读取文本文件的主要步骤分为:a)打开目标文件;  b)获取文件内数据;  c)关闭文件

        打开文件的一般方式为:

f=open(file_name,access_mode = 'r',buffering = -1)

其中 filen_ame即为目标文件名,输入为字符串形式;access_mode = 'r' 表示执行功能 。‘r’ 表示读取(read);‘w’ 表示写入(write); 'a'表示增加(add),也是写入的一种,直接在已存在文本数据后面新增数据 ;buffering = -1指定缓存方式,-1表示模型缓存,0表示不缓存,1表示缓存一行,n表示缓存n行(没有特殊性能要求,该参数不做修改,直接默认即可)

      由于文本文件内容编码方式千变万化,很多时候直接用open()读写会出现编码错误的问题,例如:

          UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)   

python代码里稍不注意就会出现这样的错误,特别是在Linux环境下,如果python代码里面出现中文或者异常符号,运行代码时候就会出现这样的错误。此时可以在代码的起始位置增加:# code = 'utf-8'  或者   # coding = UTF-8,最佳的处理方式是引入sys模块。

import sys
reload(sys)
sys.setdefaultencoding('utf-8') # utf-8可以根据需哟更换成其他编码方式

而基于文本文件读写遇到这样的错误,则推荐用python的另外一个模块codecs.

fw = codecs.open('test1.txt','a','utf-8')

或者使用with来实现代码:

with codecs.open('文件名','a',encoding = 'utf-8') as file:

codecs模块可以指定一个编码打开文件,使用这个方法打开的文件读取返回的将是unicode。写入时,如果参数 是unicode,则使用open()时指定的编码进行编码后写入;如果是str,则先根据源代码文件声明的字符编码,解码成unicode后再进行前述 操作。相对内置的open()来说,这个方法比较不容易在编码上出现问题。

一下是几种常见的文本文件读取数据代码:

## 读取文件数据的三种方法


# 方法一 : read(),直接将整个文本内的数据读取到一个字符串中。读取整个文本时候可以,但是读取多行多列数据的时候不推荐。
with codecs.open('test.txt','r',encoding = 'utf-8') as file:  # 打开文件
    data = file.read()   # 读取数据,data为整个文本文件里面的内容,为字符串形式。
    file.close()         # 关闭文件


# 方法二 : readline(),一行一行的读取,这种操作在以行为单位的数据读取时候比较方便,适合较大数据文件
with codecs.open('test.txt','r',encoding = 'utf-8') as file:  # 打开文件
    while T
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值