首页 > 解决方案 > 读取许多 excel 文件的问题

问题描述

我正在使用以下代码读取许多 xls 文件:

import os
import pandas as pd

#reading the name of files
path = os.getcwd()
files = os.listdir(path)
files_xls = [f for f in files if f[-3:] == 'xls']

#creating empty dataframe
dfs = pd.DataFrame()

#reading and append xls files
for i in files_xls:
    data = pd.read_excel(i, 'Sheet 1',converters={'CODIGO':str})
    dfs = dfs.append(data)

使用此代码,我可以毫无问题地读取所有 xls 文件。但是当我想定义路径时,我得到一个错误。

#reading the name of files
path = "/path/to/file"
files = os.listdir(path)
files_xls = [f for f in files if f[-3:] == 'xls']

#creating empty dataframe
dfs = pd.DataFrame()

#reading and append xls files
for i in files_xls:
    data = pd.read_excel(i, 'Sheet 1',converters={'CODIGO':str})
    dfs = dfs.append(data)

错误信息:

FileNotFoundError: [Errno 2] No such file or directory: 'Acobamba000659a.xls'

我该如何解决这个问题?

标签: python

解决方案


os.listdir给你文件名而不是路径。您可以使用 jurez 解决方案或仅使用 glob

import glob

dfs = pd.DataFrame()
path = "/path/to/file/*.xls"

for i in glob.glob(path):
    data = pd.read_excel(i, 'Sheet 1',converters={'CODIGO':str})
    dfs = dfs.append(data)

推荐阅读