python - 如何在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()
解决方案
推荐阅读
- c - 使用openmp没有结果
- excel - 在文本框中插入日期 - VBA
- sql - 尝试在 SQL / PLSQL 中使用时的过程标识符无效
- mongodb - 无法从 MongoDB 读取类型为“strfmt.DateTime”的时间戳
- c++ - 如何在 C++ 中返回向量指针?
- ios - Nativescript Radlistview 位置和选定项目复选标记图标的 z-index
- java - 合并时,多个 OneToMany 关系会导致不需要的选择语句
- python - Python Path.rglob 在遇到未经许可的文件夹时因网络错误而失败
- arrays - ruby - 将矩阵逆时针旋转 n 个位置
- r - desctools 包中的 smape 不起作用吗?