实习的时候调整excel文件写的脚本

就是一些数据分析和用户运营需要的数据,当时用的是影刀这款软件,然后有四个店铺账号,每个账号都要点击相同的地方,来获取excel文件。这些脚本是后续一些调整的动作。

//就是这些都是我从网上看别人怎么写的,然后自己改了一下,其实就是有很不规范的地方,比如说这些文件打开了我都没有close,那时候不知道还要close,所以发生错误了只能手动去任务管理器把进程关掉

import os
import pandas as pd
from datetime import datetime
import win32com.client as win32
from datetime import datetime,timedelta
riqi=(datetime.now()+timedelta(days=-2)).strftime('%m-%#d')
folder_path ="C:/Users/yauklt/Desktop/会员运营/天猫客服/"+riqi
# 遍历每个Excel文件
files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
for file in files:
    file_path = os.path.join(folder_path, file)
    df = pd.read_excel(file_path,converters={"商品编号":str})
    # 读取Excel文件
    now=datetime.now()
    year=now.year
    str2=folder_path
    str2=str(year)+"-"+str2.replace("\\","/").split('/')[-1]
    print(str2)
    object=datetime.strptime(str2,"%Y-%m-%d")
    riqi=object.strftime("%Y/%#m/%#d")
    print(riqi)
    month=object.month
   
    file_name = os.path.splitext(file)[0]
    print(file_name)
    if "集团" in file_name:
        dianpu="tcl集团官方旗舰店"
    elif "电视" in file_name:
        dianpu="tcl电视官方旗舰店"
    elif "空调" in file_name:
        dianpu="tcl空调官方旗舰店"
    else:
        dianpu="tcl冰箱旗舰店"
        
    
    df.insert(df.columns.get_loc("旺旺"),"月份格式",value=str(month)+"月")
    df.insert(df.columns.get_loc("旺旺"),"日期格式",value=riqi)
    df.insert(df.columns.get_loc("旺旺"),"店铺",value=dianpu) 
    column=column=df.iloc[:,df.columns.get_loc("旺旺")].tolist()
    df.drop(df.index[len(column)-6:len(column)],inplace=True) 
    column=column=df.iloc[:,df.columns.get_loc("商品编号")].tolist()
    for i in column:
        i=str(i)+'\t'
        print(i)
    
    pd.set_option("display.max_colwidth",1000)




    df.to_excel(file_path, index=False)
    

#文件路径

#构建新的表格名称
new_filename = folder_path + '\\天猫客服.xlsx'
#找到文件路径下的所有表格名称,返回列表
file_list = os.listdir(folder_path)
new_list = []

for file in file_list:
    #重构文件路径
    file_path = os.path.join(folder_path,file)
    #将excel转换成DataFrame
    dataframe = pd.read_excel(file_path)
    #保存到新列表中
    new_list.append(dataframe)

#多个DataFrame合并为一个
df = pd.concat(new_list)
#写入到一个新excel表中
df.to_excel(new_filename,index=False)
df = pd.read_excel(new_filename,converters={"商品编号":str})
column=column=df.iloc[:,df.columns.get_loc("商品编号")].tolist()
for i in column:
    i=str(i)+'\t'
    print(i)
pd.set_option("display.max_colwidth",1000)


df.to_excel(new_filename, index=False)
#python3
import xlwings as xw
import datetime
from datetime import datetime,timedelta
riqi=(datetime.now()+timedelta(days=-1)).strftime('%m-%#d')
print(riqi)
path = "C:/Users/yauklt/Desktop/会员运营/京东/京东"+riqi+".xls"

app = xw.App(visible=False, add_book=False)
app.display_alerts = False
app.screen_updating = False  # 是否实时刷新excel程序的显示内容
wb = app.books.open(path)
sht = wb.sheets['群转化数据']
for i in sht.range('c2:f9'):
        i.value=float(i.value)
for i in sht.range('g2:g9'):
        #print(i.value.strip('%'))
        i.value="{}%".format(float(i.value.strip('%')))
for i in sht.range('h2:h9'):
        #i.value=i.value.strptime(i.value, '%Y-%m-%d')
        i.value_object=datetime.strptime(i.value,"%Y-%m-%d")
        i.value=i.value_object.strftime("%Y/%m/%d")

sht2 = wb.sheets['群活跃数据']
for i in sht2.range('f2:g9'):
        #print(i.value.strip('%'))
        i.value="{}%".format(float(i.value.strip('%')))
for i in sht2.range('h2:h9'):
        #i.value=i.value.strptime(i.value, '%Y-%m-%d')
        i.value_object=datetime.strptime(i.value,"%Y-%m-%d")
        i.value=i.value_object.strftime("%Y/%m/%d")

sht3 = wb.sheets['群基础数据']
for i in sht3.range('f2:f9'):
        #i.value=i.value.strptime(i.value, '%Y-%m-%d')
        i.value_object=datetime.strptime(i.value,"%Y-%m-%d")
        i.value=i.value_object.strftime("%Y/%m/%d")

for i in 0,1:    
    sheet = wb.sheets[i]
    column=sheet.range('A:A')
    column.insert()
    column.insert()
    # 获取第一列和第二列的范围
    column1 = sheet.range('D2:D9')
    column2 = sheet.range('C2:C9')
    # 将第二列的值赋值给第一列
    row=2
    for i in column2.value:
        #print(i)
        if 'TCL'in i:
            sheet['B'+str(row)].value="非私域群"
        else:
            sheet['B'+str(row)].value="私域群"
        row=row+1
    sheet['A2:A9'].value=str(sheet['J2'].value.month)+"月"
    sheet.range('A2:B9').color='#F8CBAD'

    sheet.range('A2:B9').api.Borders.LineStyle=1
    sheet.range('A2:B9').font.name='宋体'
    sheet.range('A2:B9').font.size=11
    
sheet=wb.sheets[2]
column=sheet.range('A:A')
column.insert()
column.insert()
    # 获取第一列和第二列的范围
column2 = sheet.range('C2:C9')
    # 将第二列的值赋值给第一列
row=2
for i in column2.value:
    #print(i)
    if 'TCL'in i:
        sheet['B'+str(row)].value="非私域群"
    else:
        sheet['B'+str(row)].value="私域群"
    row=row+1
sheet['A2:A9'].value=str(sheet['H2'].value.month)+"月"
sheet.range('A2:B9').color='#F8CBAD'

sheet.range('A2:B9').api.Borders.LineStyle=1
sheet.range('A2:B9').font.name='宋体'
sheet.range('A2:B9').font.size=11
    # 保存并关闭Excel文件
wb.save()
wb.close()
import os
import pandas as pd
import snownlp
from snownlp import SnowNLP
from datetime import datetime,timedelta
riqi=(datetime.now()).strftime('%Y-%m-%d')
#today=2023-10-23
today=riqi
yestoday=(datetime.now()+timedelta(days=-1)).strftime('%Y-%m-%d')
yestoday1=(datetime.now()+timedelta(days=-1)).strftime('%m-%d')
# 获取文件夹中的所有Excel文件
folder_path = "C:/Users/yauklt/Desktop/天猫评论数据/"+yestoday1
#folder_path = 'C:/Users/yauklt/Desktop/天猫评论数据/10-21'
files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
new_column_header='是否差评'
True1="是"
False1=""
# 遍历每个Excel文件
for file in files:
    file_path = os.path.join(folder_path, file)
    
    # 读取Excel文件
    df = pd.read_excel(file_path)
    
    # 获取文件名
    file_name = os.path.splitext(file)[0]
    
    # 替换有内容的行的第一列为文件名
    df.iloc[0:, 0] = file_name
    
    specific_column='首次评价'
    df.insert(df.columns.get_loc(specific_column),new_column_header,' ')
    #df.columns.get_loc(time_column)
    time_column='首评时间'
    row=1 
    time_column_n=df.iloc[:,df.columns.get_loc(time_column)].tolist()
    #del(column_n[0])
    for riqi in time_column_n:
        row=row+1
        if(riqi!=yestoday and riqi!=today):
            break;
    print(row)
    #print(column_n)
    #print(len(column_n))
    #df.delete_rows(idx=row,amount={len(column_n-row)})
    df.drop(df.index[row-1:len(time_column_n)],inplace=True)       
    
    
    column_n1=df.iloc[:,df.columns.get_loc(specific_column)].tolist()
    
    def is_negative_review(value):
        text=value
        blob = SnowNLP(text)
        
        sentiment = blob.sentiments  # 这个库的情绪分 0 ~ 1,越低越消极
        if(text=="此用户没有填写评价。"):
            return False1
        elif(sentiment<0.12): 
            return True1
        else:
            return False1

    result = [is_negative_review(value) for value in column_n1]    
    df.iloc[:, df.columns.get_loc(specific_column)-1] = result
    
    
    # 保存修改后的Excel文件
    df.to_excel(file_path, index=False)
import os
import pandas as pd
from datetime import datetime
import win32com.client as win32
from datetime import datetime,timedelta
riqi=(datetime.now()+timedelta(days=-1)).strftime('%m-%#d')
issiyu="私域群"
notsiyu="非私域群"
folder_path ="C:/Users/yauklt/Desktop/会员运营/天猫私域/"+riqi
files = [f for f in os.listdir(folder_path) if f.endswith('.xls')]
# 遍历每个Excel文件
for file in files:
    file_path = os.path.join(folder_path, file)
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    wb = excel.Workbooks.Open(file_path)
    # 51是.xlsx格式
    # 56是.xls格式
    print(file_path)
    print(file)
    wb.SaveAs(file_path + "x", FileFormat=51)
    wb.Close()
    excel.Application.Quit()
    os.remove(file_path)

files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
for file in files:
    file_path = os.path.join(folder_path, file)
    df = pd.read_excel(file_path)
    # 读取Excel文件
    column=df.iloc[:,df.columns.get_loc("日期")].tolist()
    column_object=datetime.strptime(str(column[1]),"%Y%m%d")
    riqi=column_object.strftime("%Y/%#m/%d")
    month=column_object.month
    file_name = os.path.splitext(file)[0]
    print(file_name)
    if "集团" in file_name:
        dianpu="tcl集团官方旗舰店"
    elif "电视" in file_name:
        dianpu="tcl电视官方旗舰店"
    elif "空调" in file_name:
        dianpu="tcl空调官方旗舰店"
    else:
        dianpu="tcl冰箱旗舰店"
        
    
    df.insert(df.columns.get_loc("日期"),"月份格式",value=str(month)+"月")
    df.insert(df.columns.get_loc("日期"),"日期格式",value=riqi)
    df.insert(df.columns.get_loc("日期"),"类型",'')
    df.insert(df.columns.get_loc("日期"),"店铺",value=dianpu)
    column1=df.iloc[:,df.columns.get_loc("群组名称")].tolist()
        
        
        
        
        
    def is_siyuqun(value):
        if("VIP专属群" in value):
            return issiyu
        else:
            return notsiyu

    result = [is_siyuqun(value) for value in column1]    
    df.iloc[:, df.columns.get_loc("类型")] = result
    #print(type(df.["日期"].value))
    #df.insert(0,"月份格式",value=)
    df.to_excel(file_path, index=False)
    

#文件路径

#构建新的表格名称
new_filename = folder_path + '\\天猫私域.xlsx'
#找到文件路径下的所有表格名称,返回列表
file_list = os.listdir(folder_path)
new_list = []

for file in file_list:
    #重构文件路径
    file_path = os.path.join(folder_path,file)
    #将excel转换成DataFrame
    dataframe = pd.read_excel(file_path)
    #保存到新列表中
    new_list.append(dataframe)

#多个DataFrame合并为一个
df = pd.concat(new_list)
#写入到一个新excel表中
df.to_excel(new_filename,index=False)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值