如何用python提取excel中的上标或下标数据?

How to extract the superscript or subscript data in excel with python?

我想用python分析excel中的化学式数据。因为 excel 数据已经有了区分电荷或原子序数的格式,所以我不需要重新解释它。但是我用python阅读时遇到了一些困难。

pandasxlrdopenpyxl,甚至python-docx、none都可以读取上标区分的数据。这一切都被视为纯文本。而且好像不能直接匹配上标或下标的格式

如果不从头解释它,我怎么能完成我的任务呢?不管python还是其他任何数据处理工具都可以。

表达复杂公式的常用方法是通过 LaTex,python 有一个名为 PyLaTex 的模块。

但是,它可能无法读取 Microsoft Format of Formulas。您可能需要搜索翻译 program/site 才能将用 *.doc 编写的公式翻译成 Latex 脚本。 - IE。 https://www.grindeq.com/ https://www.docx2latex.com/

我认为您需要在 Python 中打开您的文件,对其进行格式化并将其保存到 excel 中,然后重新进行分析。 所以这就是我的意思。 首先打开文件并将每一行放入列表中 然后做一个for循环,将各种下标和上标转换成可以区分的东西。下面是一个示例代码。

    import csv
    csvfile = open('file.csv')
    reader = csv.DictReader(csvfile)

    dictList = []
    
    for line in reader: dictList.append(line)
    
    csvfile.close()

# Making the modifications inside our list, which 
   contains
# a dictionary for each line in the CSV.

for line in dictList:
    for key in line:
        line[key] = line[key].replace('\', '\\')
        line[key] = line[key].replace('#', '\#')
        line[key] = line[key].replace('_', '\_')
        line[key] = line[key].replace('&', '\&')

    # Writing the new lines to a new file.
    
    with open('output.csv', 'w') as outfile:
        fieldnames = ['Field 1', 'Field 2', 'Field 3']
        writer = csv.DictWriter(outfile, 
     fieldnames=fieldnames)
    
        writer.writeheader()
        for line in dictList:
         writer.writerow(line)