鱼C论坛

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

对xlsx文件进行处理问题

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

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

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

x
每行查找<em>和</em>符号,将<em>和</em>之间的内容显示红色,并删除<em>和</em>符号,不要整个单元格显示红色
目标文件F:\123.xlsx
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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

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

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

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

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

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

# 保存修改后的文件
workbook.save("F:\\123.xlsx")

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

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

请注意,在运行代码之前,请务必备份你的原始文件以防万一。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

# 遍历每一行
for index, row in df.iterrows():
    # 将每个单元格的内容转换为字符串
    row = row.apply(str)
    
    # 遍历每个单元格
    for column in df.columns:
        cell_value = row[column]
        
        # 查找 <em> 和 </em> 符号
        start_index = cell_value.find('<em>')
        end_index = cell_value.find('</em>')
        
        if start_index != -1 and end_index != -1:
            # 获取 <em> 和 </em> 之间的内容
            content = cell_value[start_index + 4:end_index]
            
            # 设置字体颜色为红色
            df.at[index, column] = content
            df.at[index, column].font = Font(color="FF0000")
            
            # 删除 <em> 和 </em> 符号
            df.at[index, column] = df.at[index, column].replace('<em>', '').replace('</em>', '')

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

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

希望这个答案能够解决你的问题!如果需要进一步的帮助,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

下面是一个用于处理 xlsx 文件的 Python 代码,实现了在每行中查找 <em></em> 符号,并将其之间的内容显示为红色,同时删除 <em></em> 符号。
import openpyxlfrom openpyxl.styles import Font, Color# 打开 Excel 文件file_path = 'F:\\123.xlsx'workbook = openpyxl.load_workbook(file_path)# 获取第一个工作表sheet = workbook.active# 遍历每一行for row in sheet.iter_rows():    for cell in row:        # 判断单元格中是否包含 <em> 和 </em>        if '<em>' in cell.value and '</em>' in cell.value:            # 获取 <em> 和 </em> 之间的内容            content_start = cell.value.index('<em>') + 4            content_end = cell.value.index('</em>')            content = cell.value[content_start:content_end]                        # 将内容设置为红色,删除 <em> 和 </em> 符号            cell.value = cell.value.replace('<em>', '').replace('</em>', '')            cell.font = Font(color="FF0000")  # 设置字体颜色为红色# 保存修改后的文件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]

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

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

接下来,你可 ...

你这个整个单元格红色,我只要<em>和</em>之间的内容显示红色
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

不要理睬那些机器人
想知道小甲鱼最近在做啥?请访问 -> 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'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

你这个整个单元格红色,我只要<em>和</em>之间的内容显示红色
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

追问是他的权利,你不要捣乱你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

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

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

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

# 遍历每一行
for row in worksheet.iter_rows():
    for cell in row:
        # 检查单元格的值是否包含<em>和</em>符号
        if '<em>' in cell.value and '</em>' in cell.value:
            # 获取<em>和</em>之间的内容
            content = cell.value.split('<em>')[1].split('</em>')[0]
            
            # 删除<em>和</em>符号
            cell.value = cell.value.replace('<em>', '').replace('</em>', '')
            
            # 将<em>和</em>之间的内容显示为红色
            cell.font = openpyxl.styles.Font(color='FF0000')
            
workbook.save(file_path)
请确保安装了openpyxl库(可以使用pip install openpyxl命令进行安装)。根据你的需要,修改文件路径file_path。

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 22:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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