我正在尝试读取.xlsm文件的文件夹,采用A:J列,删除所有空行,然后将每个Excel文件合并为一个CSV。当我仅使用一个特定的excel文件时,下面的代码似乎可以工作,但是在循环时出现错误。任何帮助,将不胜感激。
import pandas as pd
import os
import glob
# defines the folder to pull from and to save into
source = r"C:\Users\bwendt\QAR"
#defines list of files as dir and changes directory to source
os.chdir(source)
files = glob.glob(source + "/*.xlsm")
MultiRents = []
#loops through list of file paths, reads the file, removes blank cells, and adds to data frame
for f in files:
data = pd.read_excel(f,"Page2",usecols = "A:J")
#data.dropna(axis=0, how='any', thresh=None, subset=None, inplace=True)
MultiRents.append(data)
#create pandas DF
df = pd.DataFrame.from_records(MultiRents)
#Exports dataframe to a csv file
export_csv = df.to_csv("Multifamily_Rents.csv")
回溯:回溯(最近一次通话结束):
文件“”,第1行,在 runfile('C:/Users/bwendt/.spyder-py3/Print_rents.py',wdir ='C:/Users/bwendt/.spyder-py3')
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”, 运行文件中的第827行 execfile(文件名,命名空间)
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”, 第110行,在execfile中 exec(compile(f.read(),文件名,'exec'),命名空间)
文件“ C:/Users/bwendt/.spyder-py3/Print_rents.py”,第21行,在 数据= pd.read_excel(f,“ Page2”,usecols =“ A:J”)
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ util_decorators.py”, 包装中的第188行 返回func(* args,** kwargs)
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ util_decorators.py”, 包装中的第188行 返回func(* args,** kwargs)
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ io \ excel.py”, 第350行,在read_excel中 io = ExcelFile(io,engine = engine)
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ io \ excel.py”, init 中的第653行 self._reader = self._enginesengine
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ io \ excel.py”, 第424行,在 init 中 self.book = xlrd.open_workbook(filepath_or_buffer)
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ xlrd__init __。py”, 第157行,在open_workbook中 ragged_rows = ragged_rows,
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ xlrd \ book.py”, 第92行,在open_workbook_xls中 biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ xlrd \ book.py”, 1278行,在getbof中 bof_error('期望的BOF记录;找到%r'%self.mem [savpos:savpos + 8])
文件 “ C:\ Users \ bwendt \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ xlrd \ book.py”, 第1272行,在bof_error中 引发XLRDError(“格式不受支持,或文件损坏:'+ msg)
XLRDError:不支持的格式,或文件损坏:预期的BOF记录; 找到了b'\ x0eWendt,'