楼主: kelfen
1025 6

[其他] 求教一个excel实务问题——提取n个excel文件同一列数据并生成新excel [推广有奖]

  • 1关注
  • 8粉丝

已卖:2656份资源

硕士生

19%

还不是VIP/贵宾

-

威望
0
论坛币
59941 个
通用积分
19.9960
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2049 点
帖子
80
精华
0
在线时间
160 小时
注册时间
2006-10-9
最后登录
2025-5-17

楼主
kelfen 发表于 2019-12-19 21:59:20 |AI写论文
500论坛币
前提:有100个excel数据分析文件,均按工作日期命名;

每个excel数据分析文件中都有20张sheet,20个sheet中都有一个sheet名字为“分析”,这张sheet里面有10列;

要求:
将这100个excel文件中的每一个文件中的“分析”sheet中第n列(如第3列)全部数据,即100列数据合并到一个新生成的excel文件中,也就是新生成文件中有100列数据,每一列的表头是这个数据对应的文件所对应的的工作日期(最好用python或vba实现)
附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

最佳答案

ysj9981 查看完整内容

df.loc['苹果', '颜色'] 这样

沙发
ysj9981 在职认证  发表于 2019-12-19 21:59:21
kelfen 发表于 2019-12-22 16:06
如果列标签为“水果”、“颜色”、“味道”……
能进一步选取如行值为“苹果”这一行相关“颜色”列的数 ...
df.loc['苹果', '颜色']

这样

藤椅
ysj9981 在职认证  发表于 2019-12-20 10:23:54
import pandas as pd
import glob
import os

sheet_name = '分析'
col_index = 3

df = pd.DataFrame()
filelist = glob.glob(os.path.join('data', '*'))
for path in filelist:
    df_temp = pd.read_excel(path, sheet_name=sheet_name, header=0)
    df[os.path.basename(path)[:-4]] = df_temp[col_index]
print(df.head())

大概思路是这样

板凳
bkm006 在职认证  发表于 2019-12-20 17:29:03
数据文件给我,我给你写个程序

报纸
EasywayJC 发表于 2019-12-20 23:02:25

数据文件给我,我帮你弄好。

地板
EasywayJC 发表于 2019-12-20 23:03:18
如果需要写个程序给你,请支付一定费用。

7
kelfen 发表于 2019-12-22 16:06:42
ysj9981 发表于 2019-12-20 10:23
import pandas as pd
import glob
import os
如果列标签为“水果”、“颜色”、“味道”……
能进一步选取如行值为“苹果”这一行相关“颜色”列的数据吗,就是以行、列标签进行数据选取

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-11 06:18