需要用到两个.py 分别是excel_NAME.py 和jindong3.py
导入excel_NAME.py ,其 作用为批量读取目录文件的csv或者xls的文件名
导入excel_NAME.py:
import os
import re
import openpyxl
import pandas
import test_wy
import xlrd
def get_one_type_file_list(InputFilePath, FileSuffix):
# input: 文件夹路径(当前路径直接写路径名,
# 自动去除路径名 最前面 和 最后面 多个连续的/ or \
# FileSuffix:文件后缀,例如"csv","xlsx"
# 中英文路径和文件名都可以使用
# return: 在路径InputFilePath下,符合FileSuffix后缀的所有文件的列表,
# return:带输入路径的文件名,纯文件名
TempPath = InputFilePath
while ((TempPath[0] == '/') or (TempPath[0] == '\\')):
InputFilePath = TempPath[1:]
TempPath = InputFilePath
while ((TempPath[-1] == '/') or (TempPath[-1] == '\\')):
InputFilePath = TempPath[:-2]
TempPath = InputFilePath
FileList = []
PathList = []
FileNames = os.listdir(InputFilePath)
FindStr = r".*?\." + FileSuffix + "$" # 文件名末尾匹配 .+文件名后缀
if (len(FileNames) > 0):
for fn in FileNames:
result = re.match(FindStr, fn)
if result != None:
strTemp = InputFilePath + "\\" + fn
PathList.append((InputFilePath + "\\" + fn))
FileList.append(fn)
if (len(FileList) > 0):
print("get_one_type_file_list(): has ", len(FileList), ' ', FileSuffix, " file: \n")
for i in range(len(PathList)):
print(PathList[i])
# xls_data = pandas.read_excel(PathList[i], engine='openpyxl')
# 请参考读取excel文件的代码
# raw_data.insert(0, sheet_data)
# print(each_sheet.name, ":Data has been done.")
print("\n\n")
return (PathList, FileList)
'''
---------------------------------测试---------------------------------
'''
导入jingdong3.py
import pandas as pd
import excel_NAME
'''
---------------------------------2021-05-06 整理模板---------------------------------
'''
if __name__ == "__main__":
strInputDir = r"C:\\Users\\lenovo\\Desktop\\jindongcesi\\" # 要整理的文件夹
strFileSuffix = "csv" # 更改excel的后缀
# strFileSuffix = "xls" # 如需合并xls或xlsx更改excel的后缀
lstFilePath, lstFileName = excel_NAME.get_one_type_file_list(strInputDir, strFileSuffix)
df1 = pd.DataFrame(
columns=['下单时间', '计划名称', '品类名', 'SKUID', '播放类型', '推广设备', '口径', '订单类型', '当天/1天/3天/7天/15天', '展现量', '点击量', '点击率',
'总费用', '千次展现成本', '平均点击成本', '直接订单行', '直接订单金额', '直接加购数', '间接订单行', '间接订单金额', '间接加购数', '总订单行', '总订单金额', '总加购数',
'转化率(%)', 'ROI']) # 这个datafram自己根据自己的表头填写,需要和合并的excel表头需要格式一样
for path in lstFilePath:
print(path)
df = pd.read_csv(path) # 可以使用dtype参数 每列数据的数据类型。例如 {‘a’: np.float64, ‘b’: np.int32}
# df = pd.read_xls(path) 更改后缀
print(df)
df1 = df1.append(df) # 累加 dataframe
str11 = "C:\\Users\\lenovo\\Desktop\\test_dd\\" + 'jingdong'+'.xlsx' #为写入的路径文件
print(str11)
df1.to_excel(str11, index=False) # 写入excel
最后运行jingdong3.py得到结果在str11中