python - 遍历 Excel 文件并捕获每个文件中的特定单元格值

标签 python excel

我有一个来自客户的参与表单(作为 Excel 文件)的目录,我想编写一个脚本,该脚本将从参与表单中获取所有相关单元格并将它们写入每个客户所在的 Excel 文档中自己的行。当我尝试使用以下代码迭代目录时:

import os
import xlrd
import xlwt
from xlrd import open_workbook
from xlwt import easyxf
import pandas as pd
from pandas import np
import csv

for i in os.listdir("filepath"):
    book=xlrd.open_workbook("filepath",i)
    print book
    sheet=book.sheet_by_index(0)
    a1=sheet.cell_value(rowx=8, colx=3)
    print a1

我收到错误:IOError:[Errno 13]权限被拒绝:'文件路径'

编辑这是 Steven Rumbalski 建议的编辑后的完整回溯:

Traceback (most recent call last):
  File "C:\Users\Me\Desktop\participation_form.py", line 11, in <module>
    book=xlrd.open_workbook(("Y:/Directory1/Directory2/Signup/", i))
  File "c:\python27\lib\site-packages\xlrd\__init__.py", line 394, in open_workbook
    f = open(filename, "rb")
TypeError: coercing to Unicode: need string or buffer, tuple found

最佳答案

xlrd.open_workbook 期望其第一个参数是文件的完整路径。您正在尝试打开该文件夹而不是文件。您需要加入文件路径和文件名。做

book = xlrd.open_workbook(os.path.join("filepath", i))

您还想防止尝试打开非 Excel 文件的内容。您可以将其添加为循环的第一行:

if not i.endswith((".xls", ".xlsx")): continue

关于python - 遍历 Excel 文件并捕获每个文件中的特定单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34774466/

相关文章:

python - 查找图像中所有 3 channel 中具有特定值的像素

python - 使用 win32com 打开带有公式的 Excel 文件,添加一些延迟,然后另存为 CSV

javascript - javascript 中负向后查找的解决方法

Python 单元测试 - 是否应该模拟其他 ClassMethods?

Python - 如何在完成写入后移动文件

vba - 如何借助 VBA 中初始化对象的属性来初始化对象

perl - 文件打开时出现 Win32::OLE 错误

vba - 使用 VBA 从特定工作表中修剪特定列

vba - 用文件夹中的文件名填充单元格,Excel

excel - 如何让我的 VBA 网页抓取代码跟上新窗口的速度?