excel 和 text 文件的读写操作

news2024/10/6 12:31:18

excel 和 text 文件的读写操作

在这里插入图片描述

1. text 文件读写包

open语句

在文件存在的时候,即打开文件(此时操作会覆盖文件,实际就是删除文件重后重新创建);在文件不存在的时候,即创建文件。

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')

image-20240428180210201

循环生成文本的案例:

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')

image-20240428180332003

2. excel 读写

excel 的读写主要是两个包,openpyxl 和xlsxwriter

import openpyxl
from  openpyxl.reader.excel  import  load_workbook
import sys
import os

dir=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.sheetnames
  for 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 库,简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点

  1. 安装

    pip install openpyxl
    pip install -i https://mirrors.aliyun.com/pypi/simple --upgrade openpyxl
    
  2. 基础使用

    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文件
  • 二、打开一个已经存在的excel文件

删除excel文件命令为 os.remove

2.2 xlsxwriter包

xlsxwriter是一个用于创建Excel文件的Python库,它提供了许多用于创建、修改和保存Excel文件的函数。

  1. 以下是xlsxwriter库中的一些函数:

    1. Workbook(): 创建一个新的Excel工作簿对象。

    2. add_worksheet(): 向现有工作簿中添加一个新的工作表。

    3. add_chart(): 向现有工作簿中添加一个新的图表。

    4. vba_to_excel(): 将VBA代码转换为Excel可读取的格式。

    5. excel_to_vba(): 将Excel文件转换为VBA可读取的格式。

    6. merge_cells(): 合并单元格。

    7. cell(): 获取或选择工作表中的单元格。

    8. column(): 获取或选择工作表中的列。

    9. row(): 获取或选择工作表中的行。

    10. select_range(): 选择工作表中的一个范围。

    11. export_chart(): 将图表导出为Excel文件。

    12. save(): 保存工作簿。

    13. file(): 打开一个现有的Excel文件。

    14. close(): 关闭工作簿。

    15. set_column(): 设置工作表中的列。

    16. set_row(): 设置工作表中的行。

    17. set_column_letter(): 设置列的字母缩写。

    18. set_row_letter(): 设置行的字母缩写。

    19. get_boolean(): 获取单元格的布尔值。

    20. get_double(): 获取单元格的数字值。

    21. get_date(): 获取单元格的日期值。

    22. get_formula(): 获取单元格的公式。

    23. get_string(): 获取单元格的文本值。

    24. get_value(): 获取单元格的值。

    25. set_value(value): 设置单元格的值。

    26. get_cell(): 获取或选择工作表中的单元格。

    27. set_cell(value): 设置工作表中的单元格,并将其值设置为value。

    28. get_row(): 获取或选择工作表中的行。

    29. get_column(): 获取或选择工作表中的列。

    30. get_sheet(): 获取或选择工作簿中的工作表。

    31. collapsed(): 检查工作表是否折叠。

    32. veryslow(): 检查工作簿是否为低性能。

    33. write(): 将数据写入工作簿。

    34. save_on_error(): 在出现错误时保存文件。

    35. ext_const(): 获取对象的扩展常量。

    36. name(): 获取对象的名称。

    37. path(): 获取对象的路径。

    38. addresource(): 获取对象的地址。

    39. type(): 获取对象的类型。

    40. value(): 获取对象的值。

这些函数是xlsxwriter库的核心,可以用于创建、修改和保存Excel文件。使用这些函数,您可以创建各种类型的Excel文件,包括标准的.xlsx文件、图表和图像等。

  1. 安装

    pip install XlsxWriter
    
  2. 基础用法

    导入包,创建文件,添加工作表,书写相关内容

    import xlsxwriter
    
    wk = xlsxwriter.Workbook('demo.xlsx')
    sheet = wk.add_worksheet('sheet123')
    sheet.write(0,0,190)
    sheet.write(2,3,'测试')
    wk.close()
    print('done')
    

    其他的写法

    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 文件内部布局,相关格式

    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()
    
    

    插入图片

    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')
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1638582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

商务谈判技巧与口才书籍有哪些类型

商务谈判技巧与口才书籍有哪些类型(3篇) 商务谈判技巧与口才书籍的类型丰富多样,以下从三个角度进行介绍: **篇:基础理论与策略类书籍 这类书籍通常深入剖析谈判的本质,系统介绍谈判的原理、技巧和策略。…

S-Clustr+Nets3e 僵尸网络偷拍照片插件

项目地址:https://github.com/MartinxMax/S-Clustr-Ring 更新内容 本次将Nets3e(https://github.com/MartinxMax/Nets3e/tree/Nets3e_V1.1.4)插件成功嵌入,意味着你可以指定任意节点下的主机进行拍照 一些嵌入式设备与工业PLC设备与个人PC计算机回连控制 核心服务端搭建 最好…

MySQL-----多表查询(二)

目录 一.子查询概述: 二:标量子查询: 三:列子查询: 四:行子查询: 五:表子查询: 六:练习部分: 写在之前:本文承接上文MySQL-----多…

邦注科技 温控箱对企业的重要性

注塑加工是将加热的熔融塑料注入模具中形成所需产品的工艺过程。良好的注塑加工工艺需要控制好许多参数,其中最重要的因素之一就是模具的温度。模具温度的不稳定会导致产品尺寸大小、表面缺陷等方面的问题,甚至会导致生产不良品,加大生产成本…

普冉PY32系列(十五) PY32F0系列的低功耗模式

目录 普冉PY32系列(一) PY32F0系列32位Cortex M0 MCU简介普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单普冉PY32系列(四) PY32F002A/003/030的时钟设置普冉PY32系列(五) 使用JLink RTT代替串口输出日志普冉PY32…

【深入浅出MySQL】「性能调优」高性能查询优化MySQL的SQL语句编写

高性能查询优化MySQL的SQL语句编写准则这里写目录标题 总体优化大纲(1)优化查询性能:通过索引降低全表扫描频率优化方向案例介绍问题分析解决方案建立复合索引建立单独索引 (2)优化数据表与查询:合理使用非…

数组的扩容与缩容

数组的扩容与缩容 文章目录 数组的扩容与缩容数组的扩容内存分析 数组的缩容内存分析内存分析 数组的扩容 数组扩容是指当原有数组的空间不足以容纳更多的元素时,创建一个新的、长度更大的数组,并将原数组中的元素复制到新数组中,然后更新原…

OpenFeign夺命9连问

今天介绍一款服务调用的组件:OpenFeign,同样是一款超越先辈(Ribbon、Feign)的狠角色。 文章目录如下: 这篇文章之前陈某发过,全网阅读 10W ,时隔一年发出来让大家复习复习,部分读者…

LNMP部署及应用(Linux+Nginx+MySQL+PHP)

LNMP 我们为什么采用LNMP这种架构? 采用Linux、PHP、MySQL的优点我们不必多说。 Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,已经在一些俄罗斯的大型网站上运行多年,目…

Spring - 10 ( 9000 字 Spring 入门级教程 )

一:MyBatis 进阶 动态 SQL 是 Mybatis 的强大特性之⼀,能够完成不同条件下不同的 sql 拼接。 1.1 if 标签 在注册用户的时候,可能会有这样⼀个问题,如下图所示: 注册分为两种字段:必填字段和非必填字段&…

【二】电力系统规约IEC 104详解

电力系统规约IEC 104详解 概述 很早就准备梳理出一下电力系统规约系列的文章,因为自己在实践过程中发现这方面太难找了,网上的资料也都比较陈旧。我接触和使用IEC系列规约也有一段时间了,本着总结和分享的想法,我想推出这系列的文…

Linux的基础IO:文件描述符 重定向本质

目录 前言 文件操作的系统调用接口 open函数 close函数 write函数 read函数 注意事项 文件描述符-fd 小补充 重定向 文件描述符的分配原则 系统调用接口-dup2 缓冲区 缓冲区的刷新策略 对于“2”的理解 小补充 前言 在Linux中一切皆文件,打开文件…

Android 音视频基础知识

本系列文章会介绍两个 Android NDK Demo,拉流端会实现一个基于 FFmpeg 的视频播放器 Demo,推流端会实现一个视频直播 Demo,当然在做 Demo 之前会介绍音视频的基础知识。以下是本系列文章的目录: Android 音视频基础知识 Android 音…

SpringBoot集成Kafka开发

4.SpringBoot集成Kafka开发 4.1 创建项目 4.2 配置文件 application.yml spring:application:name: spring-boot-01-kafka-basekafka:bootstrap-servers: 192.168.2.118:90924.3 创建生产者 package com.zzc.producer;import jakarta.annotation.Resource; import org.spri…

HTML5本地存储账号密码

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML5本地存储账号密码</title> </head…

C语言/数据结构——每日一题(合并两个有序链表)

一.前言 嗨嗨嗨&#xff0c;大家好久不见&#xff01;今天我在LeetCode看到了一道单链表题&#xff1a;https://leetcode.cn/problems/merge-two-sorted-lists想着和大家分享一下&#xff0c;废话不多说&#xff0c;让我们开始今天的题目分享吧。 二.正文 1.1题目描述 1.2题…

2.2 Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3-基础-Vue基本语法

文本渲染指令 文本渲染指令-v-html与v-text Vue使用了基于HTML的模板语法&#xff0c;允许开发者声明式地将DOM绑定至底层Vue实例的数据。所有Vue的模板都是 合法的HTML&#xff0c;所以能被遵循规范的浏览器和HTML解析器解析。 在前面&#xff0c;我们一直使用的是字符串插…

利用STM32实现语音识别功能

引言 随着物联网和智能设备的普及&#xff0c;语音识别技术正逐渐成为用户交互的主流方式之一。 STM32微控制器具备处理高效率语音识别算法的能力&#xff0c;使其成为实现低成本、低功耗语音交互系统的理想选择。 本教程将介绍如何在STM32平台上开发和部署一个基础的语音识…

创建codereview

创建codereview流程 一、开始创建二、选择分支三、添加细节 一、开始创建 点击codereivew按钮 为新的codereview选择一个工程后点击create review 二、选择分支 选择目标分支和要比对的分支&#xff0c;比如develop 三、添加细节 Add branch后&#xff0c;可以继续Edit …

Linux深入学习内核 - 中断与异常(下)

软中断&#xff0c;Tasklet和Work Queue 由内核执行的几个任务之间有一些不是紧急的&#xff0c;他们可以被延缓一段时间&#xff01;把可延迟的中断从中断处理程序中抽出来&#xff0c;有利于使得内核保持较短的响应时间&#xff0c;所以我们现在使用以下面的这些结构&#x…