首页 > 解决方案 > 如何在excel中划分相同的数据

问题描述

我正在用excel做一个练习。这篇文章要求我从 2 个文件中读取数据并将其合并到一个文件中。然后,将它们分成表格(每张表格限制为 3 个发票代码)。

视觉工作室代码

import pandas as pd
from xlwt import Workbook
from pandas import ExcelWriter
import inspect, os
import numpy as np
from openpyxl import load_workbook
#import xlsxwriter

CurDir = 
os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) # link

df_Input = pd.read_excel(CurDir+"\\input\\Input.xlsx",header = 1, 
dtype='str')
df_Master= pd.read_excel(CurDir+"\\input\\Master.xlsx",dtype='str')

list_TEN = df_Master['Tên khách hàng (*)'].values
list_MST = df_Master['Mã số thuế'].values

list_New = []

for idx,row in df_Master.iterrows():
    for idx_MST,i_MST in enumerate(list_MST): 
        if str(row['Mã số thuế']).strip() == str(i_MST):
            list_New.append(list_TEN[idx_MST])
            break
df = pd.DataFrame(df_Input)
new_df = pd.DataFrame({'Họ tên người mua hàng': list_New})
df.update(new_df)

writer = ExcelWriter(CurDir+"\\output\\RightInput.xlsx")
df.to_excel(writer, sheet_name='Sheet1', index=False) 
writer.save()

df_Output = pd.read_excel(CurDir+"\\output\\RightInput.xlsx")
df_MergeInput = df_Output[0:0]

intcouter=0
intcoutsheet = 1
writer = ExcelWriter(CurDir+"\\output\\Output.xlsx")
for idx,row in df_Output.iterrows():

df_MergeInput = df_MergeInput.append(row)
if df_Output == c3:
    for row in df_Output:
        sheet=writer.active
        c3=sheet['C3']
        sheet.append(row)
else:
    if intcouter == 2:
    df_MergeInput.to_excel(writer, sheet_name='Sheet'+str(intcoutsheet), index=False) 
    df_MergeInput = df_Output[0:0]
    intcoutsheet +=1
    intcouter=0
intcouter+=1

writer.save()

标签: pythonexcel

解决方案


推荐阅读