我对正则表达式不太熟悉。我试图从excel文件(df1)的某个列中提取所有这些格式的货币和数值($##,###|$#,###|$####|#### ###### ###### ###### ###### ###### #)。我一直得到下面的回溯错误
import re
import pandas as pd
df1= pd.read_excel(r'C:\Users\user.name\Desktop\py_extractnumbers.xlsx', sheet_name = 0)
rows = len(df1)
print(str('Begin loop'))
for i in range(rows):
NoteValue = df1.loc[i]['Comments']
compilecheck = re.compile(r'\d\d\d\d'|r'\d,\d\d\d'|r'$\d,\d\d\d'|r'$\d\d,\d\d\d'|r'$\d\d\d\d')
test= compilecheck.search(str(NoteValue))
if test != None:
result = str(test)
df1['Amount']= df1['Amount'].astype(str)
df1.at[i,'Amount']=result
df1.at[i,'Amount']
print(str(result))
else:
pass
回溯错误
TypeError: unsupported operand type(s) for |: 'str' and 'str'
问题来源StackOverflow 地址:/questions/59380432/attempting-to-parse-out-data-from-excel-when-the-data-is-in-a-certain-format
正则表达式内使用$,这个是特殊字符
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。