鱼C论坛

 找回密码
 立即注册
查看: 2324|回复: 10

对xlsx文件进行处理问题

[复制链接]
发表于 2023-7-30 15:49:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
每行查找<em>和</em>符号,将<em>和</em>之间的内容显示红色,并删除<em>和</em>符号,不要整个单元格显示红色
目标文件F:\123.xlsx
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-7-30 15:49:33 | 显示全部楼层
你可以使用Python中的 openpyxl 库来处理xlsx文件。首先,确保你已经安装了 openpyxl 库。

接下来,你可以使用以下代码来实现对目标文件 F:\123.xlsx 的处理:

  1. import openpyxl
  2. from openpyxl.styles import Font

  3. # 打开工作簿
  4. workbook = openpyxl.load_workbook("F:\\123.xlsx")

  5. # 选择要操作的工作表,假设你要处理第一个工作表
  6. sheet = workbook.worksheets[0]

  7. # 遍历每一行
  8. for row in sheet.iter_rows():
  9.     for cell in row:
  10.         if "<em>" in cell.value and "</em>" in cell.value:
  11.             # 获取<em>和</em>之间的内容
  12.             start_index = cell.value.index("<em>") + 4
  13.             end_index = cell.value.index("</em>")
  14.             content = cell.value[start_index:end_index]

  15.             # 删除<em>和</em>符号
  16.             cell.value = cell.value.replace("<em>", "").replace("</em>", "")

  17.             # 将内容显示为红色
  18.             cell.font = Font(color="FF0000")

  19. # 保存修改后的文件
  20. workbook.save("F:\\123.xlsx")
复制代码


以上代码打开了目标文件并选择了第一个工作表。然后,它遍历每一行中的每个单元格,检查是否包含 <em> 和 </em> 符号。如果是这样,它就提取出 <em> 和 </em> 之间的内容,然后删除这些符号,并将内容显示为红色。

最后,修改后的工作簿将保存回原文件 F:\123.xlsx 中。

请注意,在运行代码之前,请务必备份你的原始文件以防万一。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 15:49:41 | 显示全部楼层
你好!对于处理 xlsx 文件的问题,你可以使用 Python 编程语言和 Pandas 库来完成。下面是一个示例代码,可用于实现你描述的功能:

  1. import pandas as pd
  2. from openpyxl.styles import Font

  3. # 加载 Excel 文件
  4. file_path = 'F:\\123.xlsx'
  5. df = pd.read_excel(file_path)

  6. # 遍历每一行
  7. for index, row in df.iterrows():
  8.     # 将每个单元格的内容转换为字符串
  9.     row = row.apply(str)
  10.    
  11.     # 遍历每个单元格
  12.     for column in df.columns:
  13.         cell_value = row[column]
  14.         
  15.         # 查找 <em> 和 </em> 符号
  16.         start_index = cell_value.find('<em>')
  17.         end_index = cell_value.find('</em>')
  18.         
  19.         if start_index != -1 and end_index != -1:
  20.             # 获取 <em> 和 </em> 之间的内容
  21.             content = cell_value[start_index + 4:end_index]
  22.             
  23.             # 设置字体颜色为红色
  24.             df.at[index, column] = content
  25.             df.at[index, column].font = Font(color="FF0000")
  26.             
  27.             # 删除 <em> 和 </em> 符号
  28.             df.at[index, column] = df.at[index, column].replace('<em>', '').replace('</em>', '')

  29. # 保存修改后的文件
  30. df.to_excel('F:\\modified_123.xlsx', index=False)
复制代码


将上述代码中的 file_path 修改为你的目标文件路径,然后运行代码即可。代码会读取该文件并按照要求进行处理,结果将保存在名为 modified_123.xlsx 的新文件中。

希望这个答案能够解决你的问题!如果需要进一步的帮助,请随时提问。
如果问题已经解决,请设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 15:49:55 | 显示全部楼层
问题解答:

下面是一个用于处理 xlsx 文件的 Python 代码,实现了在每行中查找 <em></em> 符号,并将其之间的内容显示为红色,同时删除 <em></em> 符号。
  1. import openpyxl
  2. from openpyxl.styles import Font, Color
  3. # 打开 Excel 文件
  4. file_path = 'F:\\123.xlsx'
  5. workbook = openpyxl.load_workbook(file_path)
  6. # 获取第一个工作表
  7. sheet = workbook.active
  8. # 遍历每一行
  9. for row in sheet.iter_rows():
  10.     for cell in row:
  11.         # 判断单元格中是否包含 <em> 和 </em>
  12.         if '<em>' in cell.value and '</em>' in cell.value:
  13.             # 获取 <em> 和 </em> 之间的内容
  14.             content_start = cell.value.index('<em>') + 4
  15.             content_end = cell.value.index('</em>')
  16.             content = cell.value[content_start:content_end]
  17.             
  18.             # 将内容设置为红色,删除 <em> 和 </em> 符号
  19.             cell.value = cell.value.replace('<em>', '').replace('</em>', '')
  20.             cell.font = Font(color="FF0000")  # 设置字体颜色为红色
  21. # 保存修改后的文件
  22. workbook.save('F:\\modified_123.xlsx')
复制代码

请将代码中的 file_path 替换为你实际的文件路径。代码使用了 openpyxl 库来读取和修改 Excel 文件,并使用了 openpyxl.styles 中的 Font 和 Color 类来设置字体颜色为红色。

该代码将打开指定的 Excel 文件,逐行遍历每个单元格,并检查其中是否包含 <em></em> 符号。如果包含,则提取其中的内容并设置为红色,同时删除 <em></em> 符号。最后,将修改后的文件保存为 "modified_123.xlsx"。

请注意,为了运行上述代码,你需要在 Python 环境中安装 openpyxl 库。可以使用以下命令安装:

[/code]
pip install openpyxl
[/code]

希望这可以帮助到你!如有任何进一步的问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-30 15:55:04 | 显示全部楼层
isdkz 发表于 2023-7-30 15:49
你可以使用Python中的 openpyxl 库来处理xlsx文件。首先,确保你已经安装了 openpyxl 库。

接下来,你可 ...

你这个整个单元格红色,我只要<em>和</em>之间的内容显示红色
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 15:55:55 | 显示全部楼层
ssqchina 发表于 2023-7-30 15:55
你这个整个单元格红色,我只要和之间的内容显示红色

不要理睬那些机器人
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-30 15:56:19 | 显示全部楼层
陶远航 发表于 2023-7-30 15:49
你好!对于处理 xlsx 文件的问题,你可以使用 Python 编程语言和 Pandas 库来完成。下面是一个示例代码,可 ...

Traceback (most recent call last):
  File "D:\Python\123.py", line 27, in <module>
    df.at[index, column].font = Font(color="FF0000")
AttributeError: 'str' object has no attribute 'font'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-30 15:57:08 | 显示全部楼层
Mike_python小 发表于 2023-7-30 15:49
问题解答:

下面是一个用于处理 xlsx 文件的 Python 代码,实现了在每行中查找  和  符号,并将其之间的内 ...

你这个整个单元格红色,我只要<em>和</em>之间的内容显示红色
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 16:05:19 | 显示全部楼层

追问是他的权利,你不要捣乱你
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 16:06:13 | 显示全部楼层
ssqchina 发表于 2023-7-30 15:55
你这个整个单元格红色,我只要和之间的内容显示红色

抱歉,openpyxl库并不支持在一个单元格内部的部分文字应用格式。相反,你可能需要使用其他的解决方法,比如你可以将 和 之间的内容和其他内容分开放到不同的单元格,然后只对包含 和 之间的内容的单元格应用红色字体样式。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 22:38:33 | 显示全部楼层
要处理一个xlsx文件,需要使用适当的库来读取、修改和保存该文件。在Python中,可以使用openpyxl库来实现这个功能。下面是一个示例代码,演示如何查找并处理xlsx文件中的<em>和</em>符号:
  1. import openpyxl

  2. # 打开目标文件
  3. file_path = 'F:\123.xlsx'
  4. workbook = openpyxl.load_workbook(file_path)

  5. # 获取第一个工作表
  6. worksheet = workbook.active

  7. # 遍历每一行
  8. for row in worksheet.iter_rows():
  9.     for cell in row:
  10.         # 检查单元格的值是否包含<em>和</em>符号
  11.         if '<em>' in cell.value and '</em>' in cell.value:
  12.             # 获取<em>和</em>之间的内容
  13.             content = cell.value.split('<em>')[1].split('</em>')[0]
  14.             
  15.             # 删除<em>和</em>符号
  16.             cell.value = cell.value.replace('<em>', '').replace('</em>', '')
  17.             
  18.             # 将<em>和</em>之间的内容显示为红色
  19.             cell.font = openpyxl.styles.Font(color='FF0000')
  20.             
  21. workbook.save(file_path)
复制代码

请确保安装了openpyxl库(可以使用pip install openpyxl命令进行安装)。根据你的需要,修改文件路径file_path。

这段代码会打开指定的xlsx文件,遍历每个单元格,如果发现单元格的值中包含<em>和</em>符号,则将<em>和</em>之间的内容显示为红色,并删除<em>和</em>符号。

运行代码后,目标文件(123.xlsx)将被修改,<em>和</em>之间的内容将以红色显示,并删除<em>和</em>符号。请注意,这段代码只会处理第一个工作表,如果有多个工作表,需要适当进行修改。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 07:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表