我有一个来自客户的参与表单(作为 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/