Python数据分析-Excel和 Text 文件的读写操作

1.Excel和 Text 文件的读写操作

在这里插入图片描述

1. Text 文件读写包

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

open 语句可以打开的创建text 文件,存在文件即打开,不存在即创建

注:如文件已存在,使用 open 语句会覆盖原文件生成新文件

1.1 open函数

函数语法:open(name[, mode[, buffering]])

  • name : 一个包含了你要访问的文件名称的字符串值。
  • mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
  • buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

例:执行循环生成文本文件

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

2. excel 读写

两个主要的包:openpyxlxlsxwriter

# coding=utf-8 
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包

OpenPyXL是一个强大的Python库,用于处理Excel文件,允许读取、编辑和创建Excel工作簿和工作表。无论是需要自动化处理大量数据,还是创建漂亮的报告,OpenPyXL都是一个强大的工具。本文将详细介绍OpenPyXL的各种功能,包括读取、写入、样式设置等,以及大量示例代码来帮助你深入理解。

要开始使用OpenPyXL,首先需要安装它。

使用pip进行安装:

pip install openpyxl

安装完成后,就可以导入OpenPyXL并开始处理Excel文件了。

1.打开现有工作表

import openpyxl

# 打开工作簿
workbook = openpyxl.load_workbook('example.xlsx')

# 获取工作表
sheet = workbook['Sheet1']

# 读取单元格数据
cell_value = sheet['A1'].value
print(cell_value)

2.创建新的工作表

import openpyxl

# 创建新工作簿
workbook = openpyxl.Workbook()

# 获取默认工作表
sheet = workbook.active

# 写入数据到单元格
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'

# 保存工作簿
workbook.save('new_example.xlsx')

3.读取数据

import openpyxl

workbook = openpyxl.load_workbook('example.xlsx')
sheet = workbook['Sheet1']

# 读取单元格数据
cell_value = sheet['A1'].value
print(cell_value)

# 通过行和列索引读取数据
cell_value = sheet.cell(row=2, column=3).value
print(cell_value)

4.写入数据

import openpyxl

workbook = openpyxl.Workbook()
sheet = workbook.active

# 写入数据到单元格
sheet['A1'] = 'Hello'
sheet.cell(row=2, column=2, value='World')

# 保存工作簿
workbook.save('new_example.xlsx')

2.2 xlsxwriter包

XlsxWriter 是一个 Python 模块,用于创建使用开放 XML 标准的 Excel 2007 (XLSX) 格式的电子表格文件。

XlsxWriter 的一些重要特性包括 −

  • XlsxWriter 创建的文件与 Excel XLSX 文件 100% 兼容。
  • XlsxWriter 提供完整的格式设置功能,例如合并单元格、定义的名称、条件格式设置等。
  • XlsxWriter 允许以编程方式在 XLSX 文件中插入图表。
  • 可以使用 XlsxWriter 设置自动过滤器。
  • XlsxWriter 支持数据验证和下拉列表。
  • 使用 XlsxWriter,可以插入 PNG/JPEG/GIF/BMP/WMF/EMF 图像。
  • 借助 XlsxWriter,Excel 电子表格可以与 Pandas 库集成。
  • XlsxWriter 还支持添加宏。
  • XlsxWriter 具有用于写入大文件的内存优化模式。

安装:

pip3 install xlsxwriter

1.多种写入方式

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

2.插入图片

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

案例 | 人大金仓助力山西政务服务核心业务系统实现全栈国产化升级改造

近日,人大金仓支撑山西涉企政策服务平台、政务服务热线联动平台、政务网、办件中心等近30个政务核心系统完成全栈国产化升级改造,推进全省通办、跨省通办、综合业务受理、智能审批、一件事一次办等业务的数字化办结进程,为我国数字政务服务提…

大鲸鱼—docker 基本概念及安装使用

目录 一、docker前言 1.什么是Docker? 2.Docker的宗旨 3.容器的优点 4.Docker与虚拟机的区别 5.Docker核心概念 镜像 容器 仓库 6.为什么要用容器 7.容器越来越受欢迎的原因 8.容器在内核中支持2种重要技术 二、Docker安装 三、Docker 镜像操作 1.搜…

<数据集>水稻叶片病害识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:1448张 标注数量(xml文件个数):1448 标注数量(txt文件个数):1448 标注类别数:3 标注类别名称:[BrownSpot,RiceBlast,BacterialBlight] 序号类别名称图片数框数1Rice…

uniapp微信小程序 TypeError: $refs[ref].push is not a function

我的写法 this.$refs.addPopup.open();报错 打印出来是这样的 解决 参考未整理 原因 在当前页面使用的v-for循环 并且循环体内也有组件使用了ref(而我没有把每个ref做区别命名) 这样就导致了我有很多同名的ref,然后就报错了 解决办法&a…

Java类与对象

类是对现实世界中实体的抽象,是对一类事物的描述。 类的属性位置在类的内部、方法的外部。 类的属性描述一个类的一些可描述的特性,比如人的姓名、年龄、性别等。 [public] [abstract|final] class 类名 [extends父类] [implements接口列表] { 属性声…

超声波清洗机哪家好?家用超声波眼镜清洗机推荐

超声波清洗机现在已经成为了很多家庭的新宠,它能够帮助我们轻松解决日常生活中的清扫烦恼。但是,面对市面上品种繁多的清洗机产品,我们该如何选择一款适合自己的呢?毕竟不同的品牌和型号,在清洗效果、噪音水平、除菌能力等方面都…

电商出海第一步,云手机或成重要因素

电商出海第一步并非易事,挑战和机遇并存,出海企业或个人或将借助云手机从而达成商业部署全球化的目的; 下面我们从网络稳定、数据安全、成本、以及多平台适配方面来看,究竟为什么说云手机会成为出海的重要因素; 首先…

虚幻引擎ue5游戏运行界面白茫茫一片,怎么处理

根剧下图顺序即可调节游戏运行界面光照问题: 在大纲里找到post,然后选中它,找到Exposure 把最低亮度和最高亮度的0改为1即可

提质增效,还看拖拽式报表设计器

随着业务量的增大,传统的报表已经无法满足发展需要了,借助于低代码技术平台、拖拽式报表设计器的优势特点,可以助力摆脱信息孤岛、部门之间协作沟通不畅的弊端,实现高效增值的市场价值。如果想实现提质、降本、增效等发展目标&…

基于AT89C51单片机的16×16点阵LED显示器字符滚动显示设计(含文档、源码与proteus仿真,以及系统详细介绍)

本篇文章论述的是基于AT89C51单片机的1616点阵LED显示器字符滚动显示设计的详情介绍,如果对您有帮助的话,还请关注一下哦,如果有资源方面的需要可以联系我。 目录 仿真效果图 仿真图 代码 系统论文 资源下载 设计的内容和要求 熟悉51系…

论文翻译:Large Language Models for Education: A Survey and Outlook

https://arxiv.org/abs/2403.18105 目录 教育领域的大型语言模型:一项调查和展望摘要1. 引言2. 教育应用中的LLM2.1 概述2.2 学习辅助2.2.1 问题解决(QS) 2.2.2 错误纠正(EC)2.2.3 困惑助手(CH)…

力扣 爬楼梯

动态规划算法基础篇。 class Solution {public int climbStairs(int n) {int[] f new int[n 1];f[0] 1;f[1] 1;//当爬到n阶楼梯时&#xff0c;可知是由n-1阶或n-2阶楼梯而来for(int i 2; i < n; i) {f[i] f[i - 1] f[i - 2];//后面的每一阶种数由前两个状态得到}ret…

Letter Exchange

这道题目看官方题解就好了&#xff0c;这个转换图论挺显然的 证明一下为什么最后一定是 显然练完贬值后图只能长成这个样子 在消掉长度为\(2\)的环后&#xff0c;如果说图没边了&#xff0c; 那么显然就不用交换了&#xff0c;否则的话我们任取一条边 那么对于\(2\)号点来说&am…

Python转换PDF为PowerPoint演示文件

PDF文件以其跨平台兼容性和版面固定性成为了分享和存储文档资料的首选格式。然而&#xff0c;在需要进行生动、互动性强的演示时&#xff0c;PDF的静态特性便难以满足个性化演示需求。将PDF文件转换为PowerPoint演示文稿可以解决这一问题。PowerPoint不仅提供了丰富的动画和过渡…

如何利用大模型提高金融合规场景的工作效率?

金融是强监管行业&#xff0c;遵守法律法规、行业标准和内部政策是金融行业的基本要求。在强监管合规环境下&#xff0c;金融机构需要降低合规风险并提升服务质量。 人工审核效率低、成本高&#xff0c;且存在主观性导致的风险。过去&#xff0c;金融机构基于规则和NLP模型构建…

打卡第10天-----栈与队列

希望今年可是实现两份工作的无缝衔接,成功完成一次跳槽,最好不要成为无业游民。希望上帝成就我向他所祈求的,哈哈哈~ 一、栈与队列理论基础 如下图所示,栈是stack,后进先出,类比到我们平常做升降电梯,在电梯口的后上去,但是在下去的时候都是先出来,这很好理解,没什…

【Jfrog Artifactory】配置邮件服务器

教程使用QQ邮箱 配置路径是&#xff1a; http://IP:8082/ui/admin/configuration/mail 进入到Mail Server&#xff0c;然后按照格式填入&#xff1a; Host &#xff1a;smtp.qq.com 【发送服务器】 Port&#xff1a;587 【我的环境465无法发送成功】 Username&#xff1a;QQ邮…

find 查找与删除

项目里存在着以前很多的用cmake 生成的Makefile&#xff0c;由于本人不喜欢cmake&#xff0c;所以在部分目录下自己写了 Makefile&#xff0c;之前存在的很多的 Makefile 需要删除&#xff0c;但不知道在哪些目录下&#xff0c;所以有了以下的脚本&#xff1a; #!/bin/bash if…

使用Apache服务部署静态网站

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、网站服务程序 ​二、配置服务文件参数 ​三、SELinux安全子系统 四、个人用户主页功能 ​五、虚拟网站主机功能 六、Apache的访问控制…

[Labview] 表格单元格外边框 二维图片叠加绘图

最终效果如下所示 转行做Labview都没到三个月&#xff0c;主程居然让我做这么复杂的功能&#xff0c;真是看得起我/(ㄒoㄒ)/~~ 思路大致分为两步 1、确定每个框体的左上/右下单元格位置&#xff0c;转换为表格表格坐标并在二维图片上绘制生成&#xff1b; 2、为二维图片添加…