python - 从文件名中获取单词,然后压缩并存储为变量

标签 python pandas python-3.7

我有一个包含两个单词的 .pdf 文件目录;名字和姓氏作为文件名,以及邮政编码; 'CAPTAIN RON 11222.pdf'

我想从目录中的每个文件中获取每个文件的单词(NAME)和数字(ZIP)。

import os

for filename in os.listdir(config.Total):
    if filename.endswith(".pdf"):

稍后我将使用每个名称来查找用于重命名的实际名称。 下面是我试图在逻辑上完成的任务(完整的上下文;但我认为上面是问题部分):

for filename in os.listdir(config.Total):
    if filename.endswith(".pdf"):

        data1 = pd.read_excel(config.Excel1)

        df = pd.DataFrame(data1)
        header = df.iloc[0]

        row_numberd1 = df[df['Member Name'].str.contains(Name)].index.min()
        row_numberd12 = df[df['Member Address Line 3'].str.contains(Zip)].index.min()

    if row_numberd1 == row_numberd12: # When rows match of NameUp and Zip var in DF1
        rowMatched = row_numberd1
        print("Match Found")
        print(rowMatched)

        MemberID = df['ID'][rowMatched]
        MemberI = str(MemberID)

        with open("./pdfs/ID/" + MemberI + ".pdf", "wb") as outputStream:
             output.write(outputStream)

......

我不想将它们存储到数据框中。我想搜索 Excel 文件(数据框)以查找名称和 zip 位于同一行的位置。然后使用该行号获取列值作为新名称。

最佳答案

您可以使用:

for filename in os.listdir(config.Total):
    if filename.endswith(".pdf"):
         First_Name, Last_Name, Zip = filename.replace(".pdf",'').split()
         Name = First_Name+Last_Name

然后您可以按预期使用名称和邮政编码变量

关于python - 从文件名中获取单词,然后压缩并存储为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57382590/

相关文章:

python - 这段打开文件的代码有什么问题?

python - 如何通过某些列的最大日期获取行?

Python Pandas 复制并修改数据框中的一些行

module - Pycharm os.get_terminal_size() 不工作

python - Django-链接到另一个 View

python - Discord 机器人引发类类型错误

python - 为什么当多次调用 Python 3 函数时,该函数的默认值会被覆盖?

python - 将 pandas Dataframe 的行转换为字符串列表

python - 如何获得 Python 3.7 新的数据类字段类型?

python - 检测使用 async def 创建的任何函数