Commit 4bfa7ee9 authored by 邱阿朋's avatar 邱阿朋

优化

parent e64a0c56
...@@ -33,8 +33,8 @@ def export_list_read_data(): ...@@ -33,8 +33,8 @@ def export_list_read_data():
df = pd.read_excel(new_file_name) df = pd.read_excel(new_file_name)
return df return df
file_name = 'new_Payments.xlsx' file_name = 'Payments.xlsx'
if not os.path.isfile(new_file_name): if not os.path.isfile(file_name):
raise FileNotFoundError(f"{file_name},文件不存在") raise FileNotFoundError(f"{file_name},文件不存在")
# page.get(f"https://vendorcentral.amazon.com/hz/vendor/members/remittance/home", timeout=3) # page.get(f"https://vendorcentral.amazon.com/hz/vendor/members/remittance/home", timeout=3)
...@@ -42,7 +42,7 @@ def export_list_read_data(): ...@@ -42,7 +42,7 @@ def export_list_read_data():
# page.ele("#remittance-home-export-link", timeout=2).click.to_download() # page.ele("#remittance-home-export-link", timeout=2).click.to_download()
# file.wait_for_downloads(file_name) # file.wait_for_downloads(file_name)
all_df = pd.read_excel('Payments.xlsx', header=None) all_df = pd.read_excel(file_name, header=None)
# 找到所有空行的索引,这里假设完全空的行为表头之间的分界线 # 找到所有空行的索引,这里假设完全空的行为表头之间的分界线
empty_rows = all_df[all_df.isnull().all(axis=1)].index.tolist() empty_rows = all_df[all_df.isnull().all(axis=1)].index.tolist()
...@@ -51,20 +51,21 @@ def export_list_read_data(): ...@@ -51,20 +51,21 @@ def export_list_read_data():
first_header_start = empty_rows[1] + 1 # 第一个表头开始的行 first_header_start = empty_rows[1] + 1 # 第一个表头开始的行
second_header_start = empty_rows[2] + 3 # 第二个表头开始的行 second_header_start = empty_rows[2] + 3 # 第二个表头开始的行
first_df = pd.read_excel('Payments.xlsx', skiprows=first_header_start, nrows=second_header_start - 7) first_df = pd.read_excel(file_name, skiprows=first_header_start, nrows=second_header_start - 7)
second_df = pd.read_excel('Payments.xlsx', skiprows=second_header_start) second_df = pd.read_excel(file_name, skiprows=second_header_start)
# 定义正则表达式模式,匹配包含 'Price' 或 'PCR' 或 'XXXXXXXX/XXXX/' 的描述 # 定义正则表达式模式,匹配包含 'Price' 或 'PCR' 或 'XXXXXXXX/XXXX/' 的描述
pattern = r'Price Claim|PCR|Missed Adjustment|Shortage Claim|^[A-Z0-9]{8}/[A-Z0-9]{4}/' pattern = r'Price Claim|PCR|Missed Adjustment|Shortage Claim|^[A-Z0-9]{8}/[A-Z0-9]{4}/'
# 过滤符合条件的行 # 过滤符合条件的行
filtered_second_df = second_df[second_df['Description'].str.contains(pattern, na=False, regex=True)] filtered_second_df = second_df[second_df['Description'].str.contains(pattern, na=False, regex=True)]
merged_df = pd.merge(filtered_second_df, first_df[['Payment Number', 'Payment Date']], on='Payment Number',how='left') merged_df = pd.merge(filtered_second_df, first_df[['Payment Number', 'Payment Date']], on='Payment Number',how='left')
excel.save_xls(merged_df ,"new_Payments.xlsx","Remittance payments") excel.save_xls(merged_df, new_file_name, "Remittance payments")
return merged_df return merged_df
def export_details_read_data(invoice_number): def export_details_read_data(invoice_number):
# 读取详情内容 # 读取详情内容
file_name = f"invoices\\{invoice_number}.csv" file_name = f"invoices\\{invoice_number}.csv"
...@@ -291,6 +292,7 @@ def main(): ...@@ -291,6 +292,7 @@ def main():
page.close() page.close()
if __name__ == '__main__': if __name__ == '__main__':
try: try:
main() main()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment