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 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包

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

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

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

相关文章

【吊打面试官系列-ZooKeeper面试题】简述 Zookeeper 文件系统?

大家好,我是锋哥。今天分享关于 【简述 Zookeeper 文件系统?】面试题,希望对大家有帮助; 简述 Zookeeper 文件系统? Zookeeper 提供一个多层级的节点命名空间(节点称为 znode)。与文件系统不同的是,这些节…

白平衡说明

白平衡 相机白平衡的起源原理以及作用起源作用 白平衡的原理白平衡的类型应用说明 工业相机的白平衡效果对比一键白平衡的必要性一键白平衡的实现方式 相机白平衡的起源原理以及作用 起源 白平衡(White Balance, WB)概念的起源与色温理论密切相关。色温…

【eNSP模拟实验】单臂路由实现VLAN间通信

实验需求 如下图所示,辅导员办公室需要访问处在不同vlan的学生管理服务器的文件,那么如何实现两台终端相互通信呢?我们可以使用单臂路由的方式来实现。 单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置…

Spring Boot中@Async注解的使用及原理 + 常见问题及解决方案

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

VMWare 下给Centos扩容

目录 参考文档背景介绍扩容查看当前文件磁盘信息增加一个存储分区创建物理卷把物理卷添加到卷组查看卷组名把物理卷并入卷组 对文件系统进行扩容搞定 参考文档 1、百度经验 2、CSDN 3、掘金 背景介绍 测试环境用VMWare 安装centos7,几年下来磁盘空间不够用了&…

【前端项目笔记】10 项目优化上线

项目优化上线 目标:优化Vue项目部署Vue项目(上线提供使用) 项目优化 项目优化策略: 生成打包报告:根据生成的报告发现问题并解决第三方库启用CDN:提高首屏页面的加载效率Element-UI组件按需加载路由懒加…

数据结构4.0——串的定义和基本操作

串的定义(逻辑结构) 串,即字符串(String)是由零个或多个字符组成的有序数列。 一般记为Sa1a2....an(n>0) 其中,S是串名,单引号括起来的字符序列是串的值;ai可以是字母、数字或其他字符;串中字符的个数n称为串的长度。n0时的…

unity 2020版本packManager没有AssetBundles

1.Packages->manifest.json打开manifest.json文件 2.添加"com.unity.assetbundlebrowser": "1.7.0", 保存即可

以数据编织,重构数据管理新范式

大数据产业创新服务媒体 ——聚焦数据 改变商业 人工智能几乎统一了全球最顶尖科技公司的认知:这个时代,除了AI,没有第二条路可走。 人工智能的技术逻辑颇有一种“暴力美学”,它依托于海量大数据和超高算力的训练和推理&#xff…

SpringBoot新手快速入门系列教程十一:基于Docker Compose部署一个最简单分布式服务项目

我的教程都是亲自测试可行才发布的,如果有任何问题欢迎留言或者来群里我每天都会解答。 如果您还对于Docker或者Docker Compose不甚了解,可以劳烦移步到我之前的教程: SpringBoot新手快速入门系列教程九:基于docker容器&#xff…

218.贪心算法:分发糖果(力扣)

核心思想 初始化每个学生的糖果数为1: 确保每个学生至少有一颗糖果。从左到右遍历: 如果当前学生的评分高于前一个学生,则当前学生的糖果数应比前一个学生多一颗。从右到左遍历: 如果当前学生的评分高于后一个学生,则…

Hadoop3:HDFS-通过配置黑白名单对集群进行扩缩容,并实现数据均衡(实用)

一、集群情况介绍 我的本地虚拟机,一共有三个节点,hadoop102、hadoop103、hadoop104 二、白名单 创建白名单文件whitelist,通过白名单的配置,只允许集群包含102和103两台机器可以存储数据,104无法存储数据。 需求 …

修改留言板

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>备忘录</title><!-- <link rel"…

根据脚手架archetype快速构建spring boot/cloud项目

1、找到archetype&#xff0c;并从私仓下载添加archetype到本地 点击IDEA的file&#xff0c;选择new project 选择maven项目&#xff0c;勾选create from archetype 填写archetype信息&#xff0c;&#xff08;repository填写私仓地址&#xff09; 2、选择自定义的脚手架arche…

关于正点原子的alpha开发板的启动函数(汇编,自己的认识)

我傻逼了&#xff0c;这里的注释还是不要用&#xff1b; 全部换成 /* */ 这里就分为两块&#xff0c;一部分是复位中断部分&#xff0c;第二部分就是IRQ部分&#xff08;中断部分最重要&#xff09; 我就围绕着两部分来展开我的认识 首先声明全局 .global_start 在 ARM 架…

pdf工具

iLovePDF | 为PDF爱好者提供的PDF文件在线处理工具 https://www.ilovepdf.com/zh-cn 图片 pdf 合并成一个pdf也可以拆分

近期matlab学习笔记,学习是一个记录,反复的过程

近期matlab学习笔记&#xff0c;学习是一个记录&#xff0c;反复的过程 matlab的mlx文件在运行的时候&#xff0c;不需要在文件夹路径下&#xff0c;也能运行&#xff0c;但是需要调用子函数时&#xff0c;就需要在文件所在路径下运行 那就先运行子函数&#xff0c;把路径换过来…

YOLOv10: Real-Time End-to-End Object Detection

双重标签分配 与一对一多分配不同&#xff0c;一对一匹配只为每个地面真相分配一个预测&#xff0c;避免了NMS后处理。然而&#xff0c;这导致了较弱的监督&#xff0c;导致次优的准确性和收敛速度。幸运的是&#xff0c;这种缺陷可以通过一对一多分配来弥补。为此&#xff0c…

Redis的配置优化、数据类型、消息队列

文章目录 一、Redis的配置优化redis主要配置项CONFIG 动态修改配置慢查询持久化RDB模式AOF模式 Redis多实例Redis命令相关 二、Redis数据类型字符串string列表list集合 set有序集合sorted set哈希hash 三、消息队列生产者消费者模式发布者订阅者模式 一、Redis的配置优化 redi…

Androidstudio安卓开发,SharedPreferences实现登录注册

1. 项目涉及到的技术点 SharedPreferences的使用 2. 效果图 3. 实现过程 注册布局文件&#xff1a;activity_register.xml <?xml version"1.0" encoding"utf-8"?> <androidx.appcompat.widget.LinearLayoutCompat xmlns:android"http:…