此处将为大家介绍关于使用Python在Excel的详细内容,并且为您解答有关.xlsx中查找和替换字符串的相关问题,此外,我们还将为您介绍关于c#–如何使用EPPlus在Excel文件(.XLSX)中
此处将为大家介绍关于使用Python在Excel的详细内容,并且为您解答有关.xlsx中查找和替换字符串的相关问题,此外,我们还将为您介绍关于c# – 如何使用EPPlus在Excel文件(.XLSX)中查找数据范围?、Creating Excel files with Python and XlsxWriter(通过 Python和XlsxWriter来创建Excel文件(xlsx格式))、Excel VBA - 如何查找和替换 30k 字符串上的单引号?、Excel中的xls、xlsx、xlsm混合文件,看我用Python如何统一处理......的有用信息。
本文目录一览:- 使用Python在Excel(.xlsx)中查找和替换字符串(python excel 查找替换)
- c# – 如何使用EPPlus在Excel文件(.XLSX)中查找数据范围?
- Creating Excel files with Python and XlsxWriter(通过 Python和XlsxWriter来创建Excel文件(xlsx格式))
- Excel VBA - 如何查找和替换 30k 字符串上的单引号?
- Excel中的xls、xlsx、xlsm混合文件,看我用Python如何统一处理......
使用Python在Excel(.xlsx)中查找和替换字符串(python excel 查找替换)
我正在尝试替换.xlsx工作表中的一堆字符串(〜70k行,38列)。我有一个要搜索和替换为文件的字符串列表,格式如下:
bird produk - bird productpig - porkayam - chicken...kuda - horse
要搜索的词在左侧,而替换词在右侧(找到“ bird produk”,替换为“ bird product”。我的.xlsx工作表如下所示:-
name type of animal IDali pig 3483abu kuda 3940ahmad bird produk 0399...ahchong pig 2311
我正在寻找最快的解决方案,因为列表中大约有200个单词要搜索,并且.xlsx文件很大。我需要为此使用Python,但是我愿意接受其他任何更快的解决方案。
编辑:-添加工作表示例
Edit2:-尝试了一些python代码来读取单元格,花费了很长时间。有指针吗?
from xlrd import open_workbookwb = open_workbook(''test.xlsx'')for s in wb.sheets(): print (''Sheet:'',s.name) for row in range(s.nrows): values = [] for col in range(s.ncols): print(s.cell(row,col).value)
谢谢!
Edit3:-我终于想通了。 VBA模块和Python代码都可以使用。我改用.csv来简化事情。谢谢!这是我的Python代码版本:-
import csv###### our dictionary with our key:values. ######reps = { ''JUALAN (PRODUK SHJ)'' : ''SALE( PRODUCT)'', ''PAMERAN'' : ''EXHIBITION'', ''PEMBIAKAN'' : ''BREEDING'', ''UNGGAS'' : ''POULTRY''}def replace_all(text, dic): for i, j in reps.items(): text = text.replace(i, j) return textwith open(''test.csv'',''r'') as f: text=f.read() text=replace_all(text,reps)with open(''file2.csv'',''w'') as w: w.write(text)
答案1
小编典典我会将您的文本文件的内容复制到excel文件中的新工作表中,并将该工作表命名为“ Lookup”。然后使用文本列,以获取该新表的前两列中从第一行开始的数据。
将以下代码粘贴到Excel中的模块中并运行它:
Sub Replacer() Dim w1 As Worksheet Dim w2 As Worksheet ''The sheet with the words from the text file: Set w1 = ThisWorkbook.Sheets("Lookup") ''The sheet with all of the data: Set w2 = ThisWorkbook.Sheets("Data") For i = 1 To w1.Range("A1").CurrentRegion.Rows.Count w2.Cells.Replace What:=w1.Cells(i, 1), Replacement:=w1.Cells(i, 2), LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next iEnd Sub
c# – 如何使用EPPlus在Excel文件(.XLSX)中查找数据范围?
我今天早上刚刚下载了EPPlus库,所以我可能会忽略一些基本的东西.我还检查了示例项目,但没有看到与此问题相关的任何内容.
谢谢!
解决方法
使用EPPlus,您将使用WorkSheet.Dimensions.Start.Row / End.Row / Start.Column / End.Column.
Creating Excel files with Python and XlsxWriter(通过 Python和XlsxWriter来创建Excel文件(xlsx格式))
以下所有内容翻译至: https://xlsxwriter.readthedocs.io/
#-------------------------------------------------------------------------------------------------------------------------------
XlsxWriter 是一个用来创建Excel XLSX 文件的Python 模块。
demo:
demo 代码:
###################################################################################
##############################################################################
#
# A simple example of some of the features of the XlsxWriter Python module.
#
# Copyright 2013-2018, John McNamara, jmcnamara@cpan.org # import xlsxwriter #导入xlsxwriter模块 # Create an new Excel file and add a worksheet. #创建一个新的工作簿和工作表 workbook = xlsxwriter.Workbook(''demo.xlsx'') worksheet = workbook.add_worksheet() # Widen the first column to make the text clearer. #设置第一列的宽度 worksheet.set_column(''A:A'', 20) # Add a bold format to use to highlight cells. #定义加粗的格式 bold = workbook.add_format({''bold'': True}) # Write some simple text. #用‘A1’等表达方式在单元格中写入简单的文本 worksheet.write(''A1'', ''Hello'') # Text with formatting. #在单元格中写入文本的同时设置格式 worksheet.write(''A2'', ''World'', bold) # Write some numbers, with row/column notation. #用行列号的表达方式(从00开始)在单元格写入数值 worksheet.write(2, 0, 123) worksheet.write(3, 0, 123.456) # Insert an image. #在单元格中插入图片 worksheet.insert_image(''B5'', ''logo.png'') workbook.close() #关闭工作簿,只有关闭工作簿,文档才会最终显示;
#################################################################################################################
XlsxWriter
XlsxWriter 是一个Python模块,用这个模块可以实现在2007以上版本的exel格式为xlsx的文件中添加多个工作表并且可以插入文本,数字,公式,超链接等。它支持例如格式等很多功能,包含如下:
100% 和excel xlsx 文件兼容;
支持所有格式;
支持合并单元格;
定义名字;
图表;
筛选;
数据验证和下拉列表;
条件格式;
工作表插入PNG/JPEG/GMP/WMF/WMF 图片;
富文本格式字符串;
单元格注释;
文本框组件;
联合Pndas模块;
写入大文件时支持记忆优化模式;
它支持Python 2.5,2.6,2.7,3.1,3.2,3.3,3.4,3.5,3.6等版本,Jython和PyPy 只使用标准库。
这个文件解释了怎么使用xlsxwrite 模块,阅读下面的章节来了解更多内容,或者直接跳到 Introduction。
- Content
- Introduction
- Getting Started with XlsxWriter
- ---------------------------------------------------------------------------------
- Tutorial 1: Create a simple XLSX file
- Tutorial 2: Adding formatting to the XLSX file
- Tutorial 3:Writting different types of data to the XLSX file
- --------------------------------------------------------------------------------
- The Workbook Class
- The Worksheet Class
- The Worbook Class(Page Setup)
- The Format Class
- The Chart Class
- The Chartsheet Class
- The Exceptions Class
- ------------------------------------------------------------------------------
- Working with Cell Notation
- Working with Formulas
- Working with Dates and Times
- Working with Colors
- Working with Charts
- Working with Autofilters
- Working with Data Validation
- Working with Conditional Formatting
- Working with Worksheet Tables
- Working with Textboxes
- Working with Sparklines
- Working with Cell Comments
- Working with Outlines and Grouping
- Working with Memory and Performance
- Working with VBA Macros
- Working with Python Pandas and XlsxWriter
- ----------------------------------------------------------------------------------
- Examples
- ----------------------------------------------------------------------------------
- Chart Examples
- ----------------------------------------------------------------------------------
- Pandas with XlsxWriter Examples
- ----------------------------------------------------------------------------------
- Alternative modules for handing Excel files
- Libraries that use or enhance XlsxWriter
- Known Issues and Bugs
- Reporting Bugs
- Frequently Asked Questions
- Changes in XlsxWriter
- Author
- License
Excel VBA - 如何查找和替换 30k 字符串上的单引号?
如何解决Excel VBA - 如何查找和替换 30k 字符串上的单引号??
我正在尝试在 excel 中进行查找和替换,但 excel 没有找到任何内容,我认为这是由于字符数量过多,因为有些字符大约有 30,000 个,例如找到不要并替换为不要.
我想将此数据插入到 sql 中,这就是我尝试删除所有单引号的原因,查找和替换中有许多 Q 和 A,但我找不到任何适用于我的数据的字符数的内容.
我在 VBA 方面很糟糕,所以除了下面不起作用的代码之外,我真的没有任何代码可以分享。
Selection.Replace What:="''",Replacement:="",LookAt:=xlPart,_
SearchOrder:=xlByRows,MatchCase:=False,SearchFormat:=False,_
ReplaceFormat:=False
解决方法
感谢@Naresh 回答了这个问题。
Sub FindString()
Dim c As Range
Dim firstAddress As String
With Worksheets(1).Range("A1:a10")
Set c = .Find("''",LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = Replace(c.Value,"''","quotechanged")
Set c = .FindNext(c)
Loop While Not c Is Nothing
End If
End With
End Sub
Excel中的xls、xlsx、xlsm混合文件,看我用Python如何统一处理......
点击上方“Python爬虫与数据挖掘”,进行关注
回复“书籍”即可获赠Python从入门到进阶共10本电子书
今
日
鸡
汤
引言
Python语言,近几年在办公自动化这一领域来说,真的超级火爆!用它做批量处理确实比VBA要方便很多。
前面的文章,我们已经讲述了如何将doc文件转换为docx文件,还没有观看的朋友直接戳此链接:

python-docx无法处理 “doc格式” 文件,于是我这样做......
今天黄同学再带大家探讨Python处理Excel文件时,遇到的一些问题。在Python中,有几个常用的库专门用来处理Excel文件,分别是xlrd、xlwt和openpyxl,简单介绍一下:
-
xlrd 只能读取数据,可以处理xls和xlsx; -
xlwt 只能写数据,只能处理xls; -
openpyxl 可以读数据和写数据,但只能处理xlsx;
如果待处理的文件,既有xls,又有xlsx时,我觉得还是将它们一并转换为统一格式,再进行二次修改,显得更为方便。
同时,这里还有一种Excel文件,就是xlsm格式,该表格文件却很少被其他库支持。这种情况下,如果我们电脑有安装微软的Excel软件(非wps),就可以通过调用本地excel软件对表格文件进行格式转换,然后我们再进行其它操作。

正文
再给代码之前,我仍然给大家讲述一些知识点,方便大家一读就会。
-
上一篇文章,由于处理的是Word文档,因此这里 调用的是Word程序 ,那处理Excel文档,这里就需要 调用Excel程序 了; -
在Python中,文档用 Documents 表示,工作簿用 Workbooks 表示,因此处理不同的文件,我们需要调用不同的属性,打开对应的文件;
# 调用word程序
WordApp = win32com.client.Dispatch("Word.Application")
# 调用excel程序
WordApp = win32com.client.Dispatch("Excel.Application")
# 打开word文档
w.Documents.Open(path)
# 打开Excel工作簿
w.Workbooks.Open(path)
# 后台运行,不显示,不警告
WordApp.Visible = 0
WordApp.DisplayAlerts = 0
Excel文件的格式是最多的,这里我再给大家做一个总结,给你加深一下印象。

这里需要强调一下:后面的代码里,我们在使用SaveAs保存时,会用到一个FileFormat属性,其中:
-
FileFormat= 51 ,表示xlsx扩展文件; -
FileFormat= 56 ,表示xls扩展文件; -
FileFormat= 52 ,表示xlsm扩展文件; -
FileFormat= 23 ,表示csv扩展文件;
好了,前期准备知识讲述完毕,这里直接给大家上代码。
import os
import time
import win32com
from win32com.client import Dispatch
def xls_xlsx(path):
w = win32com.client.Dispatch(''Excel.Application'')
w.Visible = 0
w.DisplayAlerts = 0
wb = w.Workbooks.Open(path)
# 这里必须要绝对地址,保持和xls路径一致
newpath = allpath+''\\转换后的文档.xlsx''
wb.SaveAs(newpath,FileFormat = 51)
# doc.Close() 开启则会删掉原来的dxls
w.Quit()# 退出
return newpath
allpath = os.getcwd()
print(allpath)
xls_xlsx(allpath+''\\转换前的文档.xls'')
最终结果:
本文讲述完毕,代码附有注释,相信大家可以看明白,一篇文章总要留给大家一点思考空间,这里就不再过多赘述。
------------------- End -------------------
往期精彩文章推荐:
解决安装Pycharm后在C盘下生成大文件的问题
一篇文章教会你使用Django根据现有数据库反向生成models
手把手教你使用Django如何连接Mysql

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~
本文分享自微信公众号 - Python爬虫与数据挖掘(crawler_python)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
关于使用Python在Excel和.xlsx中查找和替换字符串的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c# – 如何使用EPPlus在Excel文件(.XLSX)中查找数据范围?、Creating Excel files with Python and XlsxWriter(通过 Python和XlsxWriter来创建Excel文件(xlsx格式))、Excel VBA - 如何查找和替换 30k 字符串上的单引号?、Excel中的xls、xlsx、xlsm混合文件,看我用Python如何统一处理......等相关知识的信息别忘了在本站进行查找喔。
本文标签: