excel__text__0">excel 和 text 文件的读写操作
1. text 文件读写包
open语句
在文件存在的时候,即打开文件(此时操作会覆盖文件,实际就是删除文件重后重新创建);在文件不存在的时候,即创建文件。
python">import sys
print(sys.argv[0])
print(__file__)
print(sys.path[0])
q=open(sys.path[0] + "\out.txt","w",encoding='utf-8')
q.write('这个是测试一下')
q.close()
print('done')
循环生成文本的案例:
python">import os
import sys
print(sys.argv[0])
print(__file__)
print(sys.path[0])
fq=open(sys.path[0] + "\out1.txt","w",encoding='utf-8')
for i in range(1,1000):fq.write('哈哈'+ str(i)+'\n')
fq.close
print('done')
excel__40">2. excel 读写
excel 的读写主要是两个包,openpyxl 和xlsxwriter
python">import openpyxl
from openpyxl.reader.excel import load_workbook
import sys
import osdir=sys.path[0] + '\练习题'
fq=open('out.txt','w',encoding='utf-8') # 打开文件,写权限
for wjm in os.listdir(dir):os.chdir(dir)wk=load_workbook(filename=wjm) gzb= wk.sheetnamesfor x in range(len(gzb)):sheet1=wk[gzb[x]]print(wjm+' '+sheet1.title)for i in range(1,sheet1.max_row+1):chuan=''for j in range(1,sheet1.max_column+1):chuan='%s%s%s' % (chuan, ',', sheet1.cell(row=i,column=j).value)chuan=chuan[1:]#获得从第二个字符串开始到末尾的字符串fq.write(chuan+'\r\n')
fq.close
print('it is over')
2.1 openpyxl包
是个读写 Excel 2010 xlsx/xlsm/xltx/xltm 的 Python 库,简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点
-
安装
python">pip install openpyxl pip install -i https://mirrors.aliyun.com/pypi/simple --upgrade openpyxl
-
基础使用
python">from openpyxl import Workbook wb = Workbook()# grab the active worksheet ws = wb.active# Data can be assigned directly to cells ws['A1'] = 42# Rows can also be appended ws.append([1, 2, 3])# Python types will automatically be converted import datetime ws['A2'] = datetime.datetime.now()# Save the file wb.save("sample.xlsx")
openpyxl 对excel 文件的操作分为两种
删除excel文件命令为 os.remove
2.2 xlsxwriter包
xlsxwriter是一个用于创建Excel文件的Python库,它提供了许多用于创建、修改和保存Excel文件的函数。
-
以下是xlsxwriter库中的一些函数:
-
Workbook(): 创建一个新的Excel工作簿对象。
-
add_worksheet(): 向现有工作簿中添加一个新的工作表。
-
add_chart(): 向现有工作簿中添加一个新的图表。
-
vba_to_excel(): 将VBA代码转换为Excel可读取的格式。
-
excel_to_vba(): 将Excel文件转换为VBA可读取的格式。
-
merge_cells(): 合并单元格。
-
cell(): 获取或选择工作表中的单元格。
-
column(): 获取或选择工作表中的列。
-
row(): 获取或选择工作表中的行。
-
select_range(): 选择工作表中的一个范围。
-
export_chart(): 将图表导出为Excel文件。
-
save(): 保存工作簿。
-
file(): 打开一个现有的Excel文件。
-
close(): 关闭工作簿。
-
set_column(): 设置工作表中的列。
-
set_row(): 设置工作表中的行。
-
set_column_letter(): 设置列的字母缩写。
-
set_row_letter(): 设置行的字母缩写。
-
get_boolean(): 获取单元格的布尔值。
-
get_double(): 获取单元格的数字值。
-
get_date(): 获取单元格的日期值。
-
get_formula(): 获取单元格的公式。
-
get_string(): 获取单元格的文本值。
-
get_value(): 获取单元格的值。
-
set_value(value): 设置单元格的值。
-
get_cell(): 获取或选择工作表中的单元格。
-
set_cell(value): 设置工作表中的单元格,并将其值设置为value。
-
get_row(): 获取或选择工作表中的行。
-
get_column(): 获取或选择工作表中的列。
-
get_sheet(): 获取或选择工作簿中的工作表。
-
collapsed(): 检查工作表是否折叠。
-
veryslow(): 检查工作簿是否为低性能。
-
write(): 将数据写入工作簿。
-
save_on_error(): 在出现错误时保存文件。
-
ext_const(): 获取对象的扩展常量。
-
name(): 获取对象的名称。
-
path(): 获取对象的路径。
-
addresource(): 获取对象的地址。
-
type(): 获取对象的类型。
-
value(): 获取对象的值。
-
这些函数是xlsxwriter库的核心,可以用于创建、修改和保存Excel文件。使用这些函数,您可以创建各种类型的Excel文件,包括标准的.xlsx文件、图表和图像等。
-
安装
python">pip install XlsxWriter
-
基础用法
导入包,创建文件,添加工作表,书写相关内容
python">import xlsxwriterwk = xlsxwriter.Workbook('demo.xlsx') sheet = wk.add_worksheet('sheet123') sheet.write(0,0,190) sheet.write(2,3,'测试') wk.close() print('done')
其他的写法
python">import xlsxwriter wk = xlsxwriter.Workbook('demo.xlsx') sheet = wk.add_worksheet('sheet123') sheet.write_string(1,1,"python test")#写入字符串类型数据 sheet.write_number(1,2,12)#写入数字型数据 sheet.write_blank(1,3," ")#写入空类型数据 sheet.write_formula(1,4,"=c2*10")#写入公式型数据 sheet.write_boolean(1,5,True)#写入逻辑型数据 sheet.write_url(1,6,"http://www.sina.com.cn")#写入超链接型数据 property = {'font_size': 20,#字体大小'bold':True, #是否加粗'align': 'left',#水平对齐方式'valign': 'vcenter',#垂直对齐方式'font_name': u'微软雅黑','text_wrap': False, # 是否自动换行} cell_format = wk.add_format(property) sheet.write(2,2,"people",cell_format) wk.close() print('done')
设置excel 文件内部布局,相关格式
python">import xlsxwriter# 创建一个Excel文件 workbook = xlsxwriter.Workbook('example.xlsx') worksheet = workbook.add_worksheet()# 设置行高 worksheet.set_row(0, 30) # 设置第一行的高度为30# 设置列宽 worksheet.set_column('A:A', 20) # 设置A列的宽度为20# 设置单元格格式 bold_format = workbook.add_format({'bold': True, 'align': 'center', 'valign': 'vcenter'}) worksheet.write('B2', 'Text', bold_format) # 在B2单元格写入文本,并应用上面定义的格式# 关闭并保存文件 workbook.close()
插入图片
python">import xlsxwriter wk = xlsxwriter.Workbook('demo.xlsx') sheet = wk.add_worksheet('sheet123') # 图片格式 img_format={'x_offset': 8,#水平偏移'y_offset': 14,#垂直偏移'x_scale': 0.018,#水平缩放'y_scale': 0.018,#垂直缩放'url': None,'tip': None,'image_data': None,'positioning': None} # 示例: sheet.insert_image(1,1,'1.jpg',img_format) wk.close() print('done')