【发布时间】:2021-04-10 08:21:24
【问题描述】:
我为 Excel 自动化编写了一个 Python 脚本。在这个自动化过程中,我被困在了一个点之间。我想在数据框的列中应用正则表达式。尝试了很多方法,但无法产生我想要的完全期望的结果。我有如下数据框(简短示例)-
这是示例数据框,其中包含大量列。我想在名为 ID 列的 C 列中应用正则表达式。我想根据 $, & 分隔符拆分此数据框中的数据,但也想忽略(删除)* 和 & 或 * 和 $ 之间的所有值。我们在 C(ID) 列中找到空单元格的行可以删除或忽略。以下是我想要的输出数据框示例-
我已尝试关注-
import pandas as pd
import re
df = pd.read_excel("Deal Id Part Comparison Master File.xlsx", "Data Dump", header=1)
splits= []
for i in df['ID']:
s = str(i)
splits.append(re.split('\$|\&',s))
print(f' final list {splits}')
上面的代码能够根据 $ 和 & 拆分数据并将它们存储在列表中。但是 * 和 $ 或 * 和 & 之间的数据不会被忽略。我也想爆炸数据。
我确信可以有一个班轮来完成这项任务但无法生成最终输出
【问题讨论】:
-
@Ch3steR 但我想忽略 * 和 & 或 * 或 $ 之间的数据。这不会给出确切的解决方案。因此,这不会给出确切的结果
-
我的错误错过了这一点。添加了答案
标签: python regex pandas dataframe