Python - 从文件中提取excel文档,需要帮助读取数据

时间:2014-09-29 19:38:29

标签: python excel python-2.7

所以我一直在研究从文件中提取.xlsx文档的项目,试图将数据编译成一个工作表。

因为我已经管理了一个循环来提取文件,但现在我一直在努力阅读文档。

Python 2.7

如下所示,我在shell中的脚本和响应

#-------------- loop that pulls in files from folder--------------
import os

#create directory from which to pull the files
rootdir = 'C:\Users\username\Desktop\Mults'

for subdir, dir, files in os.walk(rootdir):
for file in files:
    print os.path.join(subdir,file)
#----------------------merge work books-----------------------

import xlrd
import xlsxwriter


wb = xlsxwriter.workbook('merged.xls')
ws = workbook.add_worksheet()
for file in filelist:
    r = xlrd.open_workbook(file)
    head, tail = os.path.split(file)
    count = 0
    for sheet in r:
        if sheet.number_of_rows()>0:
            count += 1
    for sheet in r:
        if sheet.number_of_rosw()>0:
            if count == 1:
                sheet_name = tail
            else:
                sheet_name = "%s_%s" (tail, sheet.name)
            new_sheet = wb.create_sheet(sheet_name)
            new_sheet.write_reader(sheet)
            new_sheet.close()
wb.close()

我运行程序时收到的错误

C:\Users\username\Desktop\Mults\doc1.xlsx
C:\Users\username\Desktop\Mults\doc2.xlsx
C:\Users\username\Desktop\Mults\doc3.xlsx
C:\Users\username\Desktop\Mults\doc4.xlsx

Traceback (most recent call last):
  File "C:\Users\username\Desktop\Work\Python\excel practice\xlsx - loops files 
- 09204.py", line 20, in <module>
wb = xlsxwriter.workbook('merged.xls')
TypeError: 'module' object is not callable

我知道我错过了一个连接数据的步骤。

我在其他脚本中使用过xlsxwriter,模块工作正常。由于某种原因,这里不会认出来。

另外,正如我所建议的那样,我尝试过xlwt,但是在将模块导入我的shell时遇到了麻烦,即使它是相应安装的。

任何提示都会有所帮助!

谢谢!

1 个答案:

答案 0 :(得分:4)

W

中的大写WorkBook
 wb = xlsxwriter.Workbook('merged.xls')

您还应该在Windows中的路径中使用/斜杠或r原始字符串:

r'C:\Users\username\Desktop\Mults'

'C:/Users/username/Desktop/Mults'

ws = workbook.add_worksheet()也会导致错误,因为workbook未在任何地方定义。

我认为你的意思是wb.add_worksheet()