参考地址:https://www.lagou.com/lgeduarticle/55134.html
ps:python创建的文件和本地创建的文件,格式不兼容
#以下是python创建的文件,不能和本地创建的文件通用
'''文件不存在则创建,有则从末尾开始写入'''
file = open("C://test.xlsx", "a+")
for i in range(10):
file.write("hello\n")
file.close()
'''文件不存在则创建,有则覆盖之前的写入'''
file = open("C://test.xlsx", "w+")
for i in range(10):
file.write("hello\n")
file.close()
'''打开一个文件,读取所有内容'''
file = open("C://test.xlsx", "r")
content = file.read()
print(content)
file.close()
'''对读取的内容进行解码'''
file = open("C://test.xlsx", "rb")
content = file.read()
print(content.decode())
file.close()
'''循环读取每一行的值'''
file = open("C:\\test.xlsx")
content = file.readlines()
for i in content:
print(i)
file.close()
#模糊搜索列表元素
list = [x for i, x in enumerate(strSplit)
if x.find('sign') != -1]
print(list)
#以下是本地创建的文件,格式不同,不能和python创建的文件通用
'''读取多列指定的值'''
import xlrd
file = xlrd.open_workbook("C://t.xlsx") #打开文件
sheet1 = file.sheet_by_index(0) #读取文件第一页
nrows = sheet1.nrows #读取已有的行数
ncols = sheet1.ncols #读取已有的列数
all = sheet1.cell_value(0,0) #读取指定的一个值
#print(all)
for i in range(nrows): #循环输出每一行指定列数值
if i == 0: #在第一行时跳过
continue
elif sheet1.row_values(i)[1] == 13: #在这个值等于13时,跳出循环
break
print(sheet1.row_values(i)[1])
for i in range(ncols):
print(sheet1.col_values(i)) #打印列值
'''修改已有表格的数据'''
from xlutils import copy #导入赋值功能
import xlrd
file = "C://test.xlsx" #文件路径赋值
old_file = xlrd.open_workbook(file) #打开旧文件
new_file = copy.copy(old_file) #复制旧文件到新文件
sheet = new_file.get_sheet(0) #获取新文件第一页
rows = sheet.get_rows() #获取新文件已有行数
for i in rows:
print(i)
sheet.write(i, 1, "1") #循环写入新文件
new_file.save(file) #保存到旧文件