您的位置:首页 > 健康 > 美食 > Python数据分析-Excel和 Text 文件的读写操作

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

2024/12/27 12:50:18 来源:https://blog.csdn.net/weixin_61587867/article/details/140389652  浏览:    关键词: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')

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com