01
—
准备数据
为了方便练习,这里直接借用随机函数生成30个Excle表格,每个表格存放10行数据。
import pandas as pd
import numpy as np
import random
import datetime
import os
os.chdir('D:\Python\方知数据\data')
# 随机数据准备
region = ['北京','上海', '广州','武汉','南京','长沙','成都']
random.choice(region) # 随机生成地区
product = ['A1','A2', 'A3','B1','C1','D1','D2']
random.choice(product) # 随机生成产品编号
random.randrange(30) # 随机生成销售数量
# 生成30个Excle表格,每个表格10行数据
for i in range(20):
df = pd.DataFrame(columns= ['地区' ,'产品编号','销量'])
for rows in range(10):
date = pd.to_datetime('2023-1-1') + datetime.timedelta(days=i)
date = date.strftime('%Y-%m-%d')
temp = pd.DataFrame( [[ random.choice(region), random.choice(product), random.randrange(20)]],columns=df.columns)
df = pd.concat([df,temp])
df.to_excel('销售明细' + date + '.xlsx',index=False)
工作文件夹通过os.chdir()设置在'D:\Python\方知数据\data',在运行完上述代码后生成的文件就在该文件夹内。生成的其中一个Excel数据如下:
02
—
合并数据
通过for循环一一读取os.listdir()获取到工作目录下的所有Excel表格数据,再存入list内,最后通过pd.concat()纵向拼接list内的全部数据。
# 新建空的列表,来装所有的列表
df_list = []
# 循环读取Excel
for i in os.listdir('D:\Python\方知数据\data'):
if i.split('.')[-1] == 'xlsx':
data = pd.read_excel(i)
# 放入list内
df_list.append(data)
# 拼接全部 DataFrame
result = pd.concat(df_list,ignore_index=True)
result.shape
这样数据就成功拼接了,每个表格10行数据,30个表格数据拼成了1个300行的表格数据。 如果想使用代码删除刚生成的模拟数据,可以使用os.remove()。
for i in os.listdir('D:\Python\方知数据\data'):
os.remove(i)
需要jupyter格式的源代码,可以直接在后台发送230621。
联系客服