我正在比较两个Excel文件,并希望使用某些过滤器将匹配项写入新文件。
我正在比较两个Excel文件,如果在Make,Model,Modification,Horse Power中也匹配,并且也来自“ WheelSizeFullDB_new”,年份在“ sql-autobaza”的年开始和年停止的范围内,那么我想要创建一个新文件,并将“ sql-autobaza”的所有列以及“ WheelSizeFullDB_new”的最后两列添加到其中,轮胎尺寸前和轮胎尺寸后
下载文件:
sql_base:drive.google.com/open?id=1Dk_1q9n5RgKFRawT7qBwyMY4ldGUL0fb
sab_base:drive.google.com/file/d/1AewxBR9p0Tgxi2i-iXS_9RDCd90hsA4G
import pandas as pd
import re
sab_base = pd.read_excel('C:\\Users\\x\\Desktop\\Reziko\\Programming\\Visual Studio 2019\\WheelSizeFullDB_new.xlsx')
sql_base = pd.read_excel('C:\\Users\\x\\Desktop\\Reziko\\Programming\\Visual Studio 2019\\sql-autobaza.xlsx')
sqlbase = sql_base.loc[
(sql_base['Make'].str.contains('%s[a-z]*'%sab_base['Make'], flags=re.I, regex=True)) &
(sql_base['Model'].str.contains('%s[a-z]*'%sab_base['Model'], flags=re.I, regex=True)) &
(sql_base['Modification'].str.contains('%s[a-z]*'%sab_base['Modification'], flags=re.I, regex=True)) &
(sql_base['Horse Power'].str.contains('%s[a-z]*'%sab_base['Horse Power'], flags=re.I, regex=True)) &
(sql_base['Year Start'] < sab_base['Year']) &
(sql_base['Year Stop'] > sab_base['Year'])
]
print(sqlbase)
sqlbase.to_excel('sab_base_update.xlsx', index=False)
我希望创建新文件并将“ sql-autobaza”的所有列以及“ WheelSizeFullDB_new”轮胎尺寸前和轮胎尺寸后的最后两列添加到其中,但是我的代码不起作用
答案 0 :(得分:1)
最好的方法是按Ctrl + F(称为“查找”功能),然后选择显示“替换”的选项卡。在“查找”字段中键入“ #REF!”,并将“替换”字段保留为空,然后按“全部替换”。这将从公式中消除所有#REF Excelerrors,从而解决问题。