Tag: xlrd

当满足条件语句时拉取特定的数据行

我正在尝试使用xlrd从一个大的电子表格中抽取特定的信息行(对于其他100多个电子表格)。 具体来说,我需要一个脚本,可以梳理电子表格的行,并拉出所有以特定string(例如, bike )开始的行。 也就是说,一旦脚本find以bike开始的行,我需要打印bike和旁边单元格中的值(这也恰好是整行)。 这是我迄今为止,但bike后,我一直得到一个语法错误: import xlrd workbook = xlrd.open_workbook('test.xlsx') worksheet = workbook.sheet_by_name('Sheet1') for row in range(worksheet.nrows): if worksheet.row_values(row) == 'bike' print worksheet.row_values(row) else: print 'Code not found'

xlrd循环通过文件夹中的多个工作簿

我正在处理一个脚本,该脚本从一个文件夹中的多个Excel工作簿中提取某些数据行(关键工作表在每个工作簿中都有相同的名称)。 此代码似乎只处理/打印文件夹中第一个文件的结果: import os import xlrd for root, dirs, files in os.walk('/Users/123/Desktop/drivingtests'): xlsfiles=[ _ for _ in files if _.endswith('.xlsx') ] for xlsfile in xlsfiles: workbook = xlrd.open_workbook(os.path.join(root,xlsfile)) worksheet = workbook.sheet_by_name('Sheet1') for row in range(worksheet.nrows): workbook = xlrd.open_workbook(os.path.join(root,xlsfile)) worksheet = workbook.sheet_by_name('Sheet1') if worksheet.row_values(row)[0] == 'bike': print worksheet.row_values(row) 应该做些什么来让脚本处理文件夹中的每个工作簿?

Python只使用xlwt / xlrd附加xls文件

我遇到问题追加数据到xls文件的问题。 长话短说,我正在使用一个程序从某些东西获取一些数据,并将其写入一个xls文件。 如果我运行脚本10次,我想结果被附加到相同的xls文件。 我的问题是,我被迫使用Python 3.4和xlutils不支持,所以我不能使用复制function。 我只需要使用xlwt / xlrd 。 请注意,该文件不能是一个xlsx 。 有什么办法可以做到这一点?

加载Excel与几个工作表时出错

我有大量的.xlsx文件从我想要的外部数据库下载。 它有两个工作表,第一个工作表只对数据有一些评论,第二个包含数据。 我已经尝试使用以下两个选项打开Excel电子表格,但他们都给我一个错误。 删除第一个工作表时,该错误消失。 但由于我有> 350个文件,我不想手动删除所有这些工作表。 我试过的代码 from openpyxl import load_workbook wb = load_workbook('/Users/user/Desktop/Data_14.xlsx') 这给出了错误: InvalidFileException: "There is no item named 'xl/styles.xml' in the archive" 和: from xlrd import open_workbook book = open_workbook('/Users/user/Desktop/Data_14.xlsx') 这会给出非常长的错误信息(KeyError:9) 我认为这个问题是第一个Excel工作表中的公式错误。 工作表中的一个单元格说 – minimum percentage that must characterise the path from a subject Company up to its Ultimate owner: 50.01% 但它没有格式化为文本。 […]

使用python将段从一个Excel文件复制到另一个文件:xlrd和xlsxwriter

我正在尝试将Excel工作表的整个部分复制到另一个文件。 该段实际上是一个头/描述,主要描述文件的属性,创build的date等…所有这些需要一些细胞在前五行和前三列,从A1:C3说。 这里是我写的代码(为了举例,只做了3行): import xlsxwriter import xlrd #### open original excelbook workbook = xlrd.open_workbook('hello.xlsx') sheet = workbook.sheet_by_index(0) # list of populated header rows row_header_list = ['A1','A2','A3','A4','A5'] i = 0 c = 0 while c <= 2: #### read original xcel book 3 rows by loop – counter is futher below data = [sheet.cell_value(c, col) for […]

Python:'NoneType'对象没有属性'decompressobj'

我在Ubuntu上使用Python 2.7.11。 我试图用xlrd包在Python中打开一个Excel文件(.xlsx)。 但是,当我尝试使用包中的open_workbook()函数打开我的Excel文件时,出现以下错误: Traceback (most recent call last): File "TileInserter.py", line 15, in <module> book = open_workbook(sheetPath, on_demand=True) File "/usr/local/lib/python2.7/site-packages/xlrd/__init__.py", line 422, in open_workbook ragged_rows=ragged_rows, File "/usr/local/lib/python2.7/site-packages/xlrd/xlsx.py", line 761, in open_workbook_2007_xml zflo = zf.open(component_names['xl/_rels/workbook.xml.rels']) File "/usr/local/lib/python2.7/zipfile.py", line 1010, in open close_fileobj=should_close) File "/usr/local/lib/python2.7/zipfile.py", line 526, in __init__ self._decompressor = zlib.decompressobj(-15) AttributeError: 'NoneType' object has […]

在Python中将数组从一个Excel文件写入另一个文件

我有一个脚本,将ESRI要素类属性表转换为Excel文件。 问题是它在进程中添加了一个对象ID字段。 这将使用引用set数组的.dtt应用程序将file upload到数据库。 因此,我需要脚本来读取输出excel文件,并将所有内容添加到新的excel文件,而不需要第一列。 所有导致xlrd和xlwt函数的工作都正常,所以我将排除表之前的所有内容,以便进行excel转换: arcpy.TableToExcel_conversion(outTemplate, outXL) print "arcpy.AddMessage(Creating GoLive_+glName)" workbook = xlrd.open_workbook(outXL) writeBook = r"S:Upload\SVRSTA00.xls" sheet = workbook.sheet_by_index(0) cell_range_value = 0 for value in sheet.col(32): cell_range_value += 1 print cell_range_value dct1 = {} for i in range(1, cell_range_value,1): data = [sheet.cell_value(i, col) for col in range(sheet.ncols)[1:]] cell_value_class = sheet.cell(i,32).value cell_value_id = data dct1[cell_value_class] […]

Python xlsx到csv

我使用这段代码将一个excel转换为一个csv文件,问题是有些字段的文本用双引号引起来,当它进行转换时,我认为它是用双引号括起来的空格。 我怎样才能避免这一点? import xlrd import unicodecsv import sys def xls_to_csv (xls_filename, csv_filename): wb = xlrd.open_workbook(xls_filename) sh = wb.sheet_by_index(0) fh = open(csv_filename,"wb") csv_out = unicodecsv.writer(fh, encoding='utf-8', delimiter=';') for row_number in range (1,sh.nrows): csv_out.writerow(sh.row_values(row_number)) fh.close() xls_to_csv(sys.argv[1],sys.argv[2]) Excel文件: 实际产出: 我的目标是没有额外的双引号的CSV。

Python Excel – 如何将工作表名称转换为工作表编号

在这个程序中,我在名为new_sheet的inputexcel文件中创build一个表单。 我需要工作表的工作表编号,而不必看excel文件。 如何从程序中返回图纸编号? import xlwt import xlrd import csv workbook = xlrd.open_workbook('input.xls') worksheet = workbook.add_sheet('new_sheet')

Pythondate时间和Excel之间的date转换差异

我试图parsing从Python中的Excel文件中收到的数据。 为此,我正在使用xlrd库。 我在Excel中有一个单元格,其值是5/16/2016 12:15,而我在Python中以42506.6493的格式收到它。 我知道Excel将date保存为自1/1/1900以来的天数。 所以在Python中,我试图添加这个天数(现在没有表示时间的分数的几天)来获得相同的date,使用下面的代码: orgDate = datetime.datetime(1900,1,1,0,0,0,0) xlVal = 42506.6493 newDate = orgDate + datetime.timedelta(days=int(xlVal)) 但是,当我读到newDate的值时,我发现它是datetime.datetime(2016, 5, 18, 0, 0) newDate datetime.datetime(2016, 5, 18, 0, 0)而应该是5月16日不是18.任何人都知道如何处理这个?