Tag: xlrd

接受带有iostream的Excel文件

目前我正在处理Excel文件,并将其path作为input myObj = ProcessExcelFile("C:\SampleExcel.xlsx") 构造函数是as def __init__(self, filepath): ''' Constructor ''' if not os.path.isfile(filepath): raise FileNotFoundError(filepath) self.datawb = xlrd.open_workbook(filepath) 但现在从另一个接口,我想使用相同的类,但它不发送给我的文件path它通过iostream发送我的文件 data = req.stream.read(req.content_length) file = io.BytesIO(data) 现在这个文件variables,当我通过我的文件作为 myObj = ProcessExcelFile(file) 这是给我的错误 TypeError: argument should be string, bytes or integer, not _io.BytesIO 我想让我的init,以便它可以采取path以及iostream或如果它不可能,我需要从iostream的文件作为优先

xlrd不会打印任何python 3

我想用xlrd读取excel文件中的数据,但每当我尝试在def open_file块内打印任何东西时。 我没有得到任何错误(我尝试了除了但不打印任何东西)。 我testing打印该块以外的随机string,它工作正常。 import xlrd, xlwt path = r"C:\Users\…excelworksheet.xls" def open_file(path): book = xlrd.open_workbook(path) try: print(book.nsheets) except: print("error") print(book.sheet_names())

如何停止在第一个空行使用xlrd读取电子表格?

我使用xlrd通过目录结构嗅探,并拉出电子表格,读取第二行(第一行)到“做的东西”。 问题是,我不知道如何停止在第一个空行阅读/打印。 我知道行不是“空”对象,但我会感谢一些帮助,显示如何检查所有单元格是否为空。 以下是我正在使用的代码: import xlrd import os def excel_file_filter(filename, extensions=['.xls', '.xlsx']): return any(filename.endswith(e) for e in extensions) def get_filenames(root): filename_list = [] for path, subdirs, files in os.walk(root): for filename in filter(excel_file_filter, files): filename_list.append(os.path.join(path, filename)) return filename_list spreadsheets = get_filenames('C:\\Temp') for s in spreadsheets: with xlrd.open_workbook(s) as wb: cs = wb.sheet_by_index(0) num_cols = cs.ncols […]

使用xlrd跟踪错误的文件名

我正在使用xlrd打开一个“.xlsx”文件,并从中读取数据进行修改。 如果文件名存在,一切正常。 但如果文件不存在,我会得到一个回溯。 我正在使用的代码是(只是相关的部分): from xlrd import open_workbook, XLRDError from xlwt import * filename = "./resources/tags_meters.xlsx" bad_filename = "./resources/meters.txt" # Use this to test bad filenames filename = bad_filename 还有我使用函数来检查文件是否可以打开: def test_book(filename): try: open_workbook(filename) except XLRDError as e: print "error is" + e.message return False else: return True if test_book(filename): print "Book Ok … Opening […]

在Python中读取文件后,更改Excel工作表的名称

嗨即时通讯使用xlrd模块来读取一个excel文件。 我怎样才能重命名每个Excel文件的第一个工作表。 谢谢。

在Python中的XLRD和HTTP Excel文件

我可以直接从HTTP位置读取与xlrd一起使用吗? 我已经尝试了以下内容: import ntlm, urllib2 url = 'http://myurl/file.xls' passman.add_password(None, url, login, password) auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman) opener = urllib2.build_opener(auth_NTLM) sock = urllib2.urlopen(url) content = sock.read() 并具有读取Excel文件并返回一些数据的ReadFromExcel函数,但无法读取内容。 ReadFromExcel(content) book = xlrd.open_workbook(filename) File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 400, in open_workbook f = open(filename, "rb") TypeError: file() argument 1 must be encoded string without NULL bytes, not str 有任何想法吗?

如何使用公式从Excel表格中的其他字段计算值

我使用Python的xlrd包生成我的Excel报告。 对于一些领域来说,它们是来自其他领域的计算。 我在用着 worksheet.write(1, 2, '178', formatting ) worksheet.write(1, 3, '100', formatting ) (1,4)是SUM of (1,2) and (1,3) 我可以这样做,如果我使用: worksheet.write(1, 4, '=SUM(A1,B1)', formatting ) 但在我的情况下,我使用的是数字(col, row)而不是字母(A1) 。 我试过chr(1)+':1' – chr(1)+':2' 但似乎我得到的字母不反映数字。 任何想法将不胜感激! 我现在使用的解决scheme是 value1 = '178' value2 = '100' worksheet.write(1, 2, value1, formatting ) worksheet.write(1, 3, value2, formatting ) worksheet.write(1, 4, value1+value2 , formatting ) […]

使用XLRD从Excel列中获取最大值

我想使用xlrd从Excel电子表格的第25列中获得最大值。 这是我做的。 import xlrd book = xlrd.open_workbook("File Location\Filename.xlsx") sheet = book.sheet_by_index(0) def follow_up(): col = 24 row = 1 max = 1 while row < 100: a = sheet.cell(row, col).value if a>max: return a else: return max row+=1 print(follow_up()) 我碰到一个问题的单元格中的值小于100的值(给我IndexError)和代码将不适用于一个列中有超过100个值的单元格。 如果我知道如何获得列中值的数量,这可以被修复。 但是我想知道是否有人知道一个“更干净”的方式来做到这一点。 非常感谢。

在Python中迭代对象时使用标志的替代方法

我有一个使用xlrd比较两个.xls表单之间的值的脚本。 默认情况下,它让我寻找相似之处,并将它们写入一个txt文件。 如果我通过一个参数,我可以查找每个.xls唯一的设备,并将其写入到txt文件。 现在,我遍历每个.xls中的行,并在两个文件之间find相似性时将其标记为True。 当标志被标记为False时,它只会从第一张表中写入主机。 这是一些带有标志的代码: else: for row1 in range(sheet1.nrows): inboth = False for row2 in range(sheet2.nrows): if sheet2.row_values(row2)[0].split(".")[0] == sheet1.row_values(row1)[0].split(".")[0]: inboth = True if not inboth: outfile.write(sheet1.row_values(row1)[0].split(".")[0] + ",File1\n") for row2 in range(sheet2.nrows): inboth = False for row1 in range(sheet1.nrows): if sheet1.row_values(row1)[0].split(".")[0] == sheet2.row_values(row2)[0].split(".")[0]: inboth = True if not inboth: outfile.write(sheet2.row_values(row2)[0].split(".")[0] + ",File2\n") […]

searchstring并获取行和列的值

如何在Excel表格中search特定的string,并使用python中的xlrd获取Excel表格中特定string的行和列值? 任何人都可以帮我吗? import xlrd workbook = xlrd.open_workbook("1234.xls") worksheet = workbook.sheet_by_name('firstpage') 只有这么多我试过