首页 > 解决方案 > 在python中加入数据excel数据的循环文件名?

问题描述

我有一些用于加入 excel 文件的代码,如何编辑我的代码,这样我就不必每次都输入完整的文件名?

谢谢

下面的代码:

import pandas as pd

excel_names = ["Market_Information_System_Control_daily_trading_day_170701.xlsx",
               "Market_Information_System_Control_daily_trading_day_170702.xlsx",
               "Market_Information_System_Control_daily_trading_day_170703.xlsx",
               "Market_Information_System_Control_daily_trading_day_170704.xlsx",
               "Market_Information_System_Control_daily_trading_day_170731.xlsx"]

excels = [pd.ExcelFile(name) for name in excel_names]
frames = [x.parse(x.sheet_names[1], header=None,index_col=None) for x in excels]

frames[1:] = [df[1:] for df in frames[1:]]
combined = pd.concat(frames)
combined.to_excel("c.xlsx", header=False, index=False)

编辑1: 图片

我只是想没有时间流动,没有标题休息。

我认为这与此有关: frames[1:] = [df[1:] for df in frames[1:]]

标签: pythonpandas

解决方案


这是你想要的?这将打印出您只需要遍历文件名然后组合的所有文件名

from os import listdir
from os.path import isfile, join

folder_path = './'

onlyfiles = [f for f in listdir(folder_path) if isfile(join(folder_path, f))]
print(onlyfiles);

PS这是来自如何列出目录的所有文件?

编辑,如果您真的想要进行某种文件扩展名过滤,我以json文件为例,将其更改为您的需要

from os import listdir
from os.path import isfile, join

folder_path = './'

onlyfiles = [f for f in listdir(folder_path) if isfile(join(folder_path, f))]
filter_extension = []
my_ext = 'json'

for f in listdir(folder_path):
    extension = f.split('.')[-1]
    if (extension == my_ext):
        filter_extension.extend([f])

print(filter_extension)

推荐阅读