OS库操作
#获取当前路径
import os
os.getcwd()
#获取当前路径下的所有文件名
import os
os.listdir(os.getcwd())
os.listdir(r'D:/test')#获取指定目录下的文件名
# 对文件重命名
os.rename('D:/Data-Science/share/data/test/test_old.xlsx'
,'D:/Data-Science/share/data/test/test_new.xlsx')
#创建文件夹
os.mkdir('D:/Data-Science/share/data/test11')
#删除文件夹
os.remove('D:/Data-Science/share/data/test/test_new.xlsx')
批量操作
批量读取文件下的多个文件
import pandas as pd
name_list = os.listdir('D:/Data-Science/share/data/test')
for i in name_list:
df = pd.read_excel(r'D:/Data-Science/share/data/test/' + i)
print('{}读取完成!'.format(i))
批量创建文件夹
month_num = ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
for i in month_num:
os.mkdir('D:/Data-Science/share/data/' + i)
print('{}创建完成!'.format(i))
批量重命名文件
import os
#获取指定文件下所有文件名
old_name = os.listdir('D:/Data-Science/share/data/test')
name = ["张明明","李旦","王玥月","陈凯"]
#遍历每一个姓名
for n in name:
#遍历每一个旧文件名
for o in old_name:
#判断旧文件名中是否包含特定的姓名
#如果包含就进行重命名
if n in o:
os.rename('D:/Data-Science/share/data/test/' + o, 'D:/Data-Science/share/data/test/' + n +"3月绩效.xlsx")
批量其他操作
批量合并多个文件
import os
import pandas as pd
#获取指定文件下所有文件名
name_list = os.listdir('D:/Data-Science/share/data/sale_data')
#创建一个相同结构的空DataFrame
df_o = pd.DataFrame({
'日期':[],'销量':[]})
#遍历读取每一个文件
for i in name_list:
df = pd.read_excel(r'D:/Data-Science/share/data/sale_data/' + i)
#进行纵向拼接
df_v = pd.concat([df_o,df])
#把拼接后的结果赋值给df_o
df_o = df_v
df_o
将一份文件按照指定列拆分成多个文件
生成一列新的月份列
df_o['月份'] = df_o['日期'].apply(lambda x:x.month)
#遍历每一个月份值
for m in df_o['月份'].unique():
#将特定月份值的数据筛选出来
df_month = df_o[df_o['月份'] == m]
#将筛选出来的数据进行保存
df_month.to_csv(r'D:/Data-Science/share/data/split_data/' + str(m) + '月销售日报_拆分后.csv')