提取和比较数字python

时间:2018-08-08 23:27:16

标签: python regex

我有一个包含两列的数据框,其中有成千上万的英语和西班牙语描述。我必须从相同项目的英语和西班牙语描述中提取数字,以确保在将描述从英语翻译为西班牙语时不会出现数字错误。

我能够使用下面的代码正确地提取和比较80%的描述,但是在正确提取和比较下面的行时遇到了麻烦

enter image description here

import pandas as pd
import re
list_US= []
for i in df['US English']:
    list_US.append(re.findall(r'[0-9](?:\d{0,6})(?:,\d{3}|.\d{3})*(?:\.\d*[0-9])?|0?\.\d*[0-9]', str(i)))

list_LA = []
for i in df['LA Spanish']:
    list_LA.append(re.findall(r'[0-9](?:\d{0,6})(?:,\d{3}|.\d{3})*(?:\.\d*[0-9])?|0?\.\d*[0-9]', str(i)))

data = pd.DataFrame([])
for i, j, k, l in zip(list_US,list_LA, df['US English'], df['LA Spanish']):
    if i == j:
        data = data.append(pd.DataFrame({'US English': k, 'LA Spanish': l, 'US Number Extract': str(i), 'LA Number Extract': str(j), 'Status': 'Correct'}, index=[0]),ignore_index=True)
    else:
        data = data.append(pd.DataFrame({'US English': k, 'LA Spanish': l, 'US Number Extract': str(i), 'LA Number Extract': str(j), 'Status': 'Please Review'}, index=[0]),ignore_index=True)

data.to_excel('extractv4.xlsx', encoding='utf-8-sig')

我不知道如何调整代码以使其将5.000和5K视为相同,并将2,5和2.5视为相同。任何帮助,将不胜感激。谢谢

0 个答案:

没有答案