txt文件读取
首先我们需要新建一个txt文件,在里面可以输入一些内容:
我们可以看到上面在当前路径下新建了一个txt文本,并在里面输入了一些内容,那么我们应该如何读取里面的内容呢?
f = open(r'./readme.txt','r',encoding='utf-8')
print(f.readlines()) # list列表,依次读取,循环遍历即可
f.close()
我们可以看到上述代码,首先定义一个对象,打开txt文本,'r’是指此文件只读,限制了文件的权限(‘w’–写入权限,会清楚之前内容,‘a’–追加写入,原先内容保留),后面的encoding='utf-8’是指文本的编码,这句话还是比较重要的,有时候里面包含了一些中文字符等,不加编码会报错。
然后就是获取里面的内容,存在list列表中,然后进行循环打印,最后关闭文本,运行以上代码:
我们可以看到打印的结果存在了空行,如果我们不想换行怎么办?可以把
f.readlines()换成f.read().splitlines(),这样替换后,我们再运行一次:
这个时候会发现并没有空行。对txt的读取还可以采用with的方法:
with open('./readme.txt','r',encoding='utf-8') as f:
print(f.read().splitlines()) # # list列表,依次读取,循环遍历即可
使用with的好处是,我们不需要进行对文件的关闭操作。
txt文本写入
f = open(r'./readmine.txt','w',encoding='utf-8')
f.write('学习使我快乐')
f.close()
首先是打开文件,如果说文件不存在的话,会自动在当前路径下创建该文件:
可以看到当前路径下生成了一个新的文件,并且写入了新的内容。同样写入也可以采用with的方式:
with open(r'./readmine.txt','a',encoding='utf-8') as f:
f.write('\n学习使我快乐!')
首先读取excel我们需要借助第三方的库xlrd,我们可以在cmd终端下载:
pip install xlrd
import xlrd
workbook = xlrd.open_workbook('./testone.xlsx') #打开excel文件
sheets = workbook.sheet_names() #获取excel中的所有工作簿名称,list列表形式存在
# worksheet = workbook.sheet_by_name('Sheet1') #通过名称获取Sheet1中的内容
worksheet = workbook.sheet_by_index(0) #通过下标索引方式获取工作簿内容
rows = worksheet.row_values(0) #获取Sheet1中第一行的值,放在list中
cols = worksheet.col_values(0) #获取Sheet1中第一列的值,放在list中
cells = worksheet.cell(0,0).value #获取某个单元格的值
以上我们可以看到如何操作读取excel中的数据内容。
EXCEL写入
excel写入需要借助另一个第三方的库xlwt,在cmd下载:pip install xlwt
import xlwt
newbook = xlwt.Workbook(encoding='ascii') #创建一个excel文件,encoding编码
newsheet = newbook.add_sheet('Mysheet') #里面增加一个工作簿
newsheet.write(0,0,'零基础Python自动化') #写入单元格内容
newbook.save('./testtwo.xls') #文件保存位置
以上我们可以关注到,保存的时候,文件格式我写成了xls,这是因为xlwt库,写入的时候如果写成xlsx,那么这个文件会出现问题,损坏之类的,所以我们可以保存成xls文件,需要注意的一点是xlwt直接写入的时候,并不是追加内容,会把之前的内容给清空掉!
EXCEL文件借助xlutils追加内容
如果我们想要在原有文件中追加数据,我们需要在借助一个库xlutils,下载方式同之前:pip install xlutils
import xlrd
from xlutils.copy import copy
workbook = xlrd.open_workbook('./testtwo.xls',formatting_info=True)
wrbook = copy(workbook)
wrsheet = wrbook.get_sheet(0)
wrsheet.write(0,1,'好好学习')
wrbook.save('./testthree.xls')
xlutils库实际是复制了之前的excel的文件中工作簿内容,赋值给一个新的excel,并从新追加了新的内容,formatting_info=True,是指保持之前工作簿的样式内容。
我们可以看到新增加了一个单元格的值"好好学习"。
以下是一些写入excel时的样式设置,有兴趣的可以了解一下:
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = 'Times New Roman'
font.bold = True # 黑体
font.underline = True # 下划线
font.italic = True # 斜体字
style.font = font # 设定样式
worksheet.write(0, 0, 'Unformatted value') # 不带样式的写入
worksheet.write(1, 0, 'Formatted value', style) # 带样式的写入
openpyxl读写excel
openpyxl也是一个第三方库,可以同时支持读写excel,并且不需要借助xlutils来进行追加写入。
import openpyxl
workbook = openpyxl.load_workbook('./testone.xlsx') # 打开文件
sheets = workbook.sheetnames # 获取所有表名
worksheet = workbook['Sheet1'] # 获取Sheet1
nrows = worksheet.max_row # 获取行数
cols = worksheet.max_column # 获取列数
data = worksheet.cell(1,1).value # 获取某单元格的值 下标从1开始
worksheet.cell(3,1).value = '学习使我快乐' #追加写入内容
workbook.save('./testone.xlsx') #保存文件