-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexcel_pandas.py
More file actions
82 lines (54 loc) · 2.41 KB
/
excel_pandas.py
File metadata and controls
82 lines (54 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import pandas as pd
from openpyxl import load_workbook
"""
padas dataframe创建新的excel
"""
def dataFrame2sheet(dataframe,excelWriter,sheet_name):
# DataFrame转换成excel中的sheet表
dataframe.to_excel(excel_writer=excelWriter, sheet_name=sheet_name,index=None)
excelWriter.save()
excelWriter.close()
"""
excel中新增sheet表
"""
def excelAddSheet(dataframe, excelWriter, sheet_name):
book = load_workbook(excelWriter.path)
excelWriter.book = book
dataframe.to_excel(excel_writer=excelWriter,sheet_name=sheet_name,index=None)
excelWriter.close()
# 将一个手机号下的所有sn都统计出来,并存到一个新的sheet中
def excelAddPhoneSn(df, phone):
# 筛选df中的内容,'13970004878'
df_moblie = df.loc[df['mobile (franchisee)']== phone]
#创建ExcelWriter 对象
excelWriter=pd.ExcelWriter('/Users/lgy/Desktop/'+'加盟商sn.xlsx',engine='openpyxl')
# 在一个excel中新增一个sheet
excelAddSheet(df_moblie,excelWriter,sheet_name=str(phone))
print(str(phone)+"存入成功")
if __name__ == '__main__':
# 把from列和to列都转换为str类型
# converters={'from':str,'to':str}
# 确认excel文件的路径
excel_file_path = '/Users/lgy/Desktop/'+'加盟商sn原始数据.xlsx'
# 读取excel文件,并存入df
df = pd.DataFrame(pd.read_excel(excel_file_path))
# 将一个手机号下的所有sn都存入新的sheet中
# excelAddPhoneSn(df,15078337512)
# 此项目下的所有手机号码
phone_list = [13970004878,18679109736,18070139770,13767975985,13576261336,13667831668,15078337513]
# 将列表中所有手机号的统计结果,全部新增一个一个sheet,并入到同一个excel中
for phone in phone_list:
excelAddPhoneSn(df,phone)
"""其他一些常用的功能"""
# 查看df中某一个'列'的所有内容(字典)
df_phone = df[['mobile (franchisee)','加盟商']]
# 罗列df中某一个'列'的所有选项
pmList = df[['mobile (franchisee)']].values.T.tolist()[:][0]
# 排除重复的直
pmList_no_repeat = list(set(pmList))
# 筛选df中的内容,'13970004878'
df_13970004878 = df.loc[df['mobile (franchisee)']==13970004878]
# 多重筛选条件
# df_13970004878 = df.loc[df['加盟商'] == "徐徐"].loc[df['mobile'] == 13970004878]
# 创建一个新的excel
# dataFrame2sheet(df_13970004878,excelWriter,sheet_name='13970004878')