一、TXT文件操作
txt文件由字符串行组成,每行由EOL字符隔开,‘\n’
打开文件
file_obj = open(file_name,mode)
mode可以为’w’,‘r’
读操作
file_obj.read()读取整个文件内容,文件必须已存在
file_obj.readline()逐行读取
file_obj.readlines()返回列表,列表中每个元素为行内容
写操作
file_obj.write()将内容写入文件,文件可以不存在,若不存在,系统会自动创建
file_obj.writelines()字符串列表内容逐行写入文件
关闭文件
file_obj.close()
with语句
作用:
- 包括了异常处理,自动调用文件关闭操作
- 适合对资源访问的场合,无论使用过程中是否发生异常都会执行“清理”操作,比如文件关闭操作和线程的自动获取与释放。
- 语法为:
with open(file_name) as f_obj:
# 执行相关操作
二、JSON文件
JavaScript对象表示法,它是轻量级的数据交换格式,用来传输由属性值或者序列性的值组合的数据对象。可以使用jsonviewer查看器查看json文件的层级格式。
结构
数据是键值对,存在两种结构
- 对象(object):由{}表示,如{key1:val1,key2:val2}
- 数组(array):由[]表示,如[val1,val2,val3]
读操作
(1)从文件读取:json.load()
(2)从字符串变量读取:json.loads()
由于json的两种结构(对象和数组)我们前面都已经讲过,关于他们的遍历是Python的基础知识,此处不再赘述。
写操作
(1)写入文件:json.dump()
(2)写入字符串变量:json.dumps()
三、CSV文件和Excel文件
以纯文本形式存储的表格数据(以逗号作为分隔符),通常以第一列为列名。
文件读取
Excel文件的读取
import numpy as np
import pandas as pd
data = pd.read_excel('data.xlsx') # data为DataFrame结构,是一种二维结构
data.head() # 查看前5行数据
'''
--------------------------------------
datapd.read_excel('data.xlsx',sheet_name=0,encoding='utf-8')
其中sheet_name用于指定要读取的工作表,可以为数字(默认0,即第一个工作表),也可以为工作表名。index_col用于设置某一列为行索引
'''
读取多个工作簿时,可以把sheet_name赋值为一个列表
CSV文件读取
import numpy as np
import pandas as pd
data = pd.read_csv('data.xlsx') # data为DataFrame结构,是一种二维结构
data.head() # 查看前5行数据
# data = pd.read_csv('data.xlsx',delimiter = ',',encoding='utf-8')
# delimiter用于指定分割符,默认以逗号分割,也可以通过index_col指定某一列为索引,
文件写入
Excel文件写入
# 先创建一个DataFrame
data = pd.DataFrame([1,2],[3,4],[5,6],columns = ['A列','B列'])
data.to_excel('data_new.xlsx')
'''
如果想在写入数据时不保留行索引信息,可以设置to_excel()函数的参数。
常用参数有:
sheet_name用于指定工作表名称;
index用于指定是否写入行索引信息,默认为True,即将行索引信息写入输出文件的第1列,若设置为False,则忽略行索引信息;
columns用于指定要写入的列;
encoding用于指定编码方式
'''
如果想要写入多个工作簿,则可使用如下方式:
writer = pd.ExcelWriter('output.xlsx')
df1.to_excel(writer,'Sheet1')
df2.to_excel(writer,'Sheet2')
writer.save()
CSV文件写入
data.to_csv('data_new.csv')
# 如果生成的CSV文件中有中文乱码现象,且设置encoding参数为“utf-8”失效,
#则需要设置encoding参数为“utf_8_sig”