小编Yue*_*hao的帖子

python pdfminer 将 pdf 文件转换为一大块字符串,单词之间没有空格

我使用的以下代码主要取自 DuckPuncher 对这篇文章Extracting text from a PDF file using PDFMiner in python? 将 pdf 转换为文本文件:

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()
    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
    interpreter.process_page(page)
    fp.close()
    device.close()
    str = retstr.getvalue()
    retstr.close()
    return str
Run Code Online (Sandbox Code Playgroud)

使用以下代码下载pdf并存储在我的本地目录中并存储在我的本地目录中。它工作得很好。

import requests
url = 'link_to_the_pdf'
file_name = './name.pdf' …
Run Code Online (Sandbox Code Playgroud)

python-3.x pdfminer

8
推荐指数
1
解决办法
1635
查看次数

LabelEncoder.fit_transform()的类型错误

我正在使用Kaggle的Titanic数据集(https://www.kaggle.com/c/titanic/data),我想使用sklearn.preprocessing中的LabelEncoder转换Sex,最初标记为'male'或'female '进'0'或'1'.我有以下四行代码,

import pandas as pd
from sklearn.preprocessing import LabelEncoder
df = pd.read_csv('titanic.csv')
df['Sex'] = LabelEncoder.fit_transform(df['Sex'])  
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我收到以下错误消息:

TypeError: fit_transform() missing 1 required positional argument: 'y'
Run Code Online (Sandbox Code Playgroud)

错误来自第4行,即

df['Sex'] = LabelEncoder.fit_transform(df['Sex']) 
Run Code Online (Sandbox Code Playgroud)

我想知道这里出了什么问题.虽然我知道我也可以使用map进行转换,这可能更简单,但我仍然想知道我对LabelEncoder的使用有什么问题.

python-3.x pandas scikit-learn

4
推荐指数
1
解决办法
3051
查看次数

标签 统计

python-3.x ×2

pandas ×1

pdfminer ×1

scikit-learn ×1