我想从一个目录中读取几个excel文件到pandas中,并将它们连接到一个大的数据框中。但我一直没能弄明白。我需要一些关于for循环和构建级联 Dataframe 的帮助:以下是我到目前为止所做的:
import sys
import csv
import glob
import pandas as pd
# get data file names
path =r'C:\DRO\DCL_rawdata_files\excelfiles'
filenames = glob.glob(path + "/*.xlsx")
dfs = []
for df in dfs:
xl_file = pd.ExcelFile(filenames)
df=xl_file.parse('Sheet1')
dfs.concat(df, ignore_index=True)
8条答案
按热度按时间30byixjq1#
正如在注解中提到的,您正在犯的一个错误是您正在遍历一个空列表。
下面是我将如何做到这一点,使用一个例子,有5个相同的Excel文件,一个接一个地追加。
(1)进口:
(2)列表文件:
输出:
(3)挑选'xls'文件:
输出:
(4)初始化空数据框:
(5)遍历要追加到空 Dataframe 的文件列表:
(6)享受您的新 Dataframe 。:—)
输出:
wydwbb8l2#
这适用于python 2.x
位于Excel文件所在的目录中
参见http://pbpython.com/excel-file-combine.html
06odsfpq3#
你可以在
concat
中使用列表解析:对于
ignore_index = True
,df
的索引将被标记为 0,...,n - 1。bjp0bcyl4#
有一个更简洁的方法来做到这一点。
irlmq6kh5#
这可以通过以下方式完成:
pzfprimi6#
快捷方式
z5btuh9x7#
2lpgd9688#
你可以从文件夹(我的例子是Salesfolder)读取所有的.xls文件,本地路径也是一样。使用迭代,通过whcih你可以把它们放入空的数据框,你可以concatnate你的数据框到这个。我还出口到另一个csv为所有月份的数据到一个csv文件