pandas 函数未返回预期的数据框输出

mfuanj7w  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(94)

我是一个编程新手,python,nlp和stackoverflow非常感谢您的耐心!
我开发了一个函数,它可以从几个pdf文件中提取一些文本,并用它建立一个pandas数据框架,以及从原始pdf文件中提取其他细节。
在函数设置之外,这些步骤工作得很好,但是一旦我将它们“打包”到函数中,我就不能让输出工作,结果数据框架仍然为空。我很明显错过了什么,救命啊!:)
下面是函数(从相关编号文件中访问文本-由Trustcode和Year标识)。

def Accessingtxt_func(Trustcode):
    DFTrust_Text1=pd.DataFrame(columns=['Text','Month','Year','Type', 'Trustcode'])
    for year in range(2021,2023):
        with open(os.path.join(mypath,f'{ts}Trust{Trustcode}-{year}a.txt'), 'w', encoding='utf-8') as fw:
            txt_content = extract_text(f'Trust{Trustcode}-{year}a.pdf') 
            fw.write(txt_content)   
            txt_content= txt_content.split('\n\n')
             DFTrust_Text1=DFTrust_Text1.append({'Text': txt_content, 'Year': {year}, 'Month':9, 'Type':1, 'Trustcode':Trustcode},ignore_index=True)
        return DFTrust_Text1
    year=year+1
    return DFTrust_Text1

字符串
函数编译得很好,然后我在如下循环中运行它

for Trustcode in range(12,14):
    print(Trustcode)
    Accessingtxt_func(Trustcode)
    DFTrust_Text1.head()


它也运行得很好,但是我不能让它提供数据框架头,并在每个循环步骤中调用函数。也不知道为什么。
然后我仍然在循环之后调用dataframe,如下所示

DFTrust_Text1.head()


但我得到的是一个空的数据框架shell,而不是预期的数据框架,其中包含Trustcodes 12、13以及年份2021和2022。

Text    Month   Year    Type    Trustcode


我已经尝试了数据框架的各种位置,内部外部,全局/局部变量,但不能让它工作。谢谢你的帮助

zkure5ic

zkure5ic1#

在调用函数时需要分配一个数据框架:

newdf = Accessingtxt_func(Trustcode)
newdf.head()

字符串

相关问题