【问题标题】:Strip the string from the given file [duplicate]从给定文件中删除字符串[重复]
【发布时间】:2022-01-03 06:10:48
【问题描述】:

我想从下面的文件中去掉一个特定的名字。

from string import digits
ini_string = "53943_Sreerag_cde_one_check.xlsx"
print("initial string : ", ini_string)
remove_digits = str.maketrans('', '', digits)
res = ini_string.translate(remove_digits)
print("final string : ", res)
final=res[res.index(""):]
 print(final)

这里的输出应该是“Sreerag”。

【问题讨论】:

  • 你的文件名是:<numbers>_<name>_cde_one_check.xlsx?
  • @sotmot:完全正确。
  • 这让它变得如此简单。看看我的回答。
  • 需要对代码稍作改动:输入“53943_Sreerag_cde_one_check.xlsx”或 Sreerag_cde_one_check.xlsx,输出应为“Sreerag”

标签: python pandas string strip


【解决方案1】:

酷。所以,有一个更简单的方法来解决这个问题 - 使用 split 函数:)

import pandas as pd

ini_string = ["53943_Sreerag_cde_one_check.xlsx", "Sreerag_cde_one_check.xlsx"]
df = pd.DataFrame()
df["ini_string"] = ini_string

df["Name"] = df["ini_string"].str.split("_").str[-4]
print(df)

"""
Output:
                         ini_string     Name
0  53943_Sreerag_cde_one_check.xlsx  Sreerag
1        Sreerag_cde_one_check.xlsx  Sreerag
"""

步骤:

  1. 根据下划线拆分
  2. 取最后的第 4 个拆分值。就是名字。

【讨论】:

  • 是否可以读取文件名并拆分?
  • 读取文件名是指从文件夹中读取文件名,还是从文件列表作为文本的文件中读取?在那种情况下,是的。可以对所有字符串变量执行split 操作。
  • 需要对代码稍作改动:输入“53943_Sreerag_cde_one_check.xlsx”或 Sreerag_cde_one_check.xlsx,输出应为“Sreerag”
  • @Sreerag,我已经做出了允许这种变化的更改。
  • 如果有帮助,请接受答案:)
【解决方案2】:

您可以使用拆分操作 ini_string = ini_string.split('-')[1]

【讨论】:

  • @Sreerag,读取文件名到底是什么意思?
  • 需要对代码稍作改动:输入“53943_Sreerag_cde_one_check.xlsx”或Sreerag_cde_one_check.xlsx,输出应为“Sreerag”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
相关资源
最近更新 更多