You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中提取列表中的Ticker数据并转换为DataFrame

提取Tabula读取PDF后的Ticker单列数据

问题背景

使用Tabula读取PDF后得到一个包含DataFrame的列表,需要从中提取Ticker列并转为单列DataFrame/Series:

file_path = "FQAL.pdf"
df = tabula.read_pdf(file_path, pages='all', encoding='cp1252')

解决方案

Tabula的read_pdf在指定pages='all'时,返回的是多个DataFrame组成的列表(每页对应一个DataFrame),分两种场景处理:

场景1:PDF仅一页表格(列表仅含一个DataFrame)

直接提取目标列并转为单列DataFrame:

import pandas as pd

# 提取Ticker列并转为DataFrame
ticker_df = df[0][['Ticker']]

# 若需要Series格式
ticker_series = df[0]['Ticker']

场景2:PDF含多页表格(列表含多个DataFrame)

遍历列表收集所有Ticker数据,再合并为单列:

import pandas as pd

all_tickers = []
for page_data in df:
    # 跳过无Ticker列的异常页
    if 'Ticker' in page_data.columns:
        all_tickers.append(page_data['Ticker'])

# 合并所有数据并转为单列DataFrame
ticker_series = pd.concat(all_tickers, ignore_index=True)
ticker_df = pd.DataFrame(ticker_series, columns=['Ticker'])

可选:清理缺失值

如果数据中有空值,可添加清理步骤:

ticker_df = ticker_df.dropna().reset_index(drop=True)

内容的提问来源于stack exchange,提问作者F Skinner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 18:21:00