IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python应用-拼接excel中各sheet(拯救论文海量excel数据) -> 正文阅读

[Python知识库]Python应用-拼接excel中各sheet(拯救论文海量excel数据)

因为毕业论文,被逼的又捡起我心爱的python。
数据量太大,总是CTRL C 和CTRL V 搞错,一般人心态也遭不住,只能靠不出错的计算机。

将文件夹中将含有某一字段的excel表全部拼接起来

举个例子,可能会出现在WIND数据库下载100只股票的价格走势信息,这就会在文件夹内出现100个excel,如何用python将其拼接成一个excel。
(有一说一,我觉得我的方法很笨,所以有更简洁的请跳过或告诉我hhhh)
首先要确保每个表格中对应的列是一致的,然后进行下述操作。
下面代码以文件夹中有两类需拼接表格为例,如需拼接文件夹中所有带有price字样的表格和拼接所有带return的表格。

import pandas as pd
import os

path = r'file_path' # 文件夹的路径
green_capm, green_ff = list(), list()

file_names = os.listdir(path)
for file_name in file_names:
    if str(file_name)[str(file_name).rfind('(') + 1:str(file_name).rfind(
            ')')] in ['...']:
  	# 如果文件夹中除了price或return在文件名上还有其他筛选条件可以在此增加筛选项
    # 比如第一个模型使用了全量样本,第二个模型使用了局部样本,因此进行了二次筛选拼接
        if 'capm模型' in file_name:
            green_capm.append(file_name)
        elif 'ff模型' in file_name:
            green_ff.append(file_name)

df_capm_all = pd.DataFrame(data=None, columns=['date', 'ri-rf', 'rm-rf'])
df_ff_all = pd.DataFrame(data=None, columns=['date', 'ri-rf', 'rm-rf', 'smb', 'hml'])

for num, name_list in enumerate([green_capm, green_ff]):
    if num == 0:
        for capm_file in name_list:
            df_capm = pd.read_excel(capm_file, header=0, sheet_name=2)
            df_capm.columns = ['date', 'ri-rf', 'rm-rf']
            df_capm_all = pd.concat([df_capm_all, df_capm], ignore_index=True)
    elif num == 1:
        for ff_file in name_list:
            df_ff = pd.read_excel(ff_file, header=0, sheet_name=2)
            df_ff.columns = ['date', 'ri-rf', 'rm-rf', 'smb', 'hml']
            df_ff_all = pd.concat([df_ff_all, df_ff], ignore_index=True)
    
name_list = ['green_capm.xlsx', 'green_ff.xlsx']
i = 0
for df in [df_capm_all, df_ff_all]:
    df = df[~df['date'].isin(['2021-10-29', '2018-10-31', '2018-10-30'])]
    # 删除某几日的数据
    df.to_excel(name_list[i])
    i += 1
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 11:01:17  更:2021-12-10 11:03:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:19:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码