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

求助:将LaTeX文件中的表格转换为Pandas DataFrame及CSV文件

从LaTeX文件提取表格并转换为CSV的解决方案

方法1:用pylatexenc和pandas手动解析

  • 安装依赖:

    pip install pylatexenc pandas
    
  • 核心代码逻辑:

    1. 读取LaTeX文件,定位tabular环境(LaTeX表格的核心存储标记)
    2. 提取表格内容,拆分行与单元格
    3. 清洗LaTeX格式标记,转换为DataFrame后导出CSV

    示例代码:

    from pylatexenc.latexwalker import LatexWalker, LatexEnvironmentNode
    import pandas as pd
    
    def extract_latex_tables(latex_file_path):
        with open(latex_file_path, 'r', encoding='utf-8') as f:
            latex_content = f.read()
    
        walker = LatexWalker(latex_content)
        tables = []
    
        for node in walker.get_latex_nodes():
            if isinstance(node, LatexEnvironmentNode) and node.environmentname == 'tabular':
                # 提取表格内部纯文本内容
                table_content = node.nodelist[0].latex_verbatim()
                # 按行拆分并过滤空行
                rows = [row.strip() for row in table_content.split('\\') if row.strip()]
                # 拆分每行的单元格(LaTeX用&分隔单元格)
                table_data = [row.split('&') for row in rows]
                # 清洗单元格中的LaTeX格式标记(比如粗体、斜体命令)
                cleaned_table = [[cell.strip().replace('\\textbf{', '').replace('}', '').replace('\\textit{', '') for cell in row] for row in table_data]
                tables.append(cleaned_table)
        return tables
    
    # 提取所有表格
    latex_tables = extract_latex_tables('your_paper.tex')
    
    # 循环处理每个表格并导出CSV
    for idx, table in enumerate(latex_tables):
        # 假设第一行是表头,后续行是数据
        df = pd.DataFrame(table[1:], columns=table[0])
        df.to_csv(f'extracted_table_{idx+1}.csv', index=False, encoding='utf-8')
    

方法2:用latex2csv工具快速处理

  • 安装工具:
    pip install latex2csv
    
  • 命令行直接执行:
    latex2csv your_paper.tex
    
    工具会自动识别LaTeX中的表格,生成对应编号的CSV文件,适合格式简单的表格场景。

注意事项

  • 若表格包含合并单元格(\multicolumn/\multirow),需要在解析时额外处理:识别这类命令后,为合并的单元格补充对应数量的空值或重复表头
  • 部分LaTeX文件用table环境包裹tabular,上述方法已覆盖该情况,因为实际表格内容存储在tabular中
  • 遇到编码报错时,可调整文件读取的编码参数(比如encoding='latin-1')

内容的提问来源于stack exchange,提问作者Aviraj Korde

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 04:45:03