python如何处理txt及excel文件

txt文件读取

首先我们需要新建一个txt文件,在里面可以输入一些内容:
python如何处理txt及excel文件_第1张图片python如何处理txt及excel文件_第2张图片
我们可以看到上面在当前路径下新建了一个txt文本,并在里面输入了一些内容,那么我们应该如何读取里面的内容呢?

f = open(r'./readme.txt','r',encoding='utf-8')
print(f.readlines())   # list列表,依次读取,循环遍历即可
f.close()

我们可以看到上述代码,首先定义一个对象,打开txt文本,'r’是指此文件只读,限制了文件的权限(‘w’–写入权限,会清楚之前内容,‘a’–追加写入,原先内容保留),后面的encoding='utf-8’是指文本的编码,这句话还是比较重要的,有时候里面包含了一些中文字符等,不加编码会报错。

然后就是获取里面的内容,存在list列表中,然后进行循环打印,最后关闭文本,运行以上代码:
python如何处理txt及excel文件_第3张图片
我们可以看到打印的结果存在了空行,如果我们不想换行怎么办?可以把

f.readlines()换成f.read().splitlines(),这样替换后,我们再运行一次:
python如何处理txt及excel文件_第4张图片
这个时候会发现并没有空行。对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()

首先是打开文件,如果说文件不存在的话,会自动在当前路径下创建该文件:
python如何处理txt及excel文件_第5张图片python如何处理txt及excel文件_第6张图片
可以看到当前路径下生成了一个新的文件,并且写入了新的内容。同样写入也可以采用with的方式:

with open(r'./readmine.txt','a',encoding='utf-8') as f:
    f.write('\n学习使我快乐!')

打开文件可以看到我们追加的内容:
python如何处理txt及excel文件_第7张图片
EXCEL文件读取

首先读取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,是指保持之前工作簿的样式内容。
python如何处理txt及excel文件_第8张图片
我们可以看到新增加了一个单元格的值"好好学习"。

以下是一些写入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')          #保存文件

需要注意的事xlrd,xlwt,xlutils下标都是从0开始获取行和列的,openpyxl下标是从1开始的!
python如何处理txt及excel文件_第9张图片

你可能感兴趣的:(python如何处理txt及excel文件)