我有一个Excel文件
Arm_id DSPName DSPCode HubCode PinCode PPTL
1 JaVAS 01 AGR 282001 1,2
2 JaVAS 01 AGR 282002 3,4
3 JaVAS 01 AGR 282003 5,6
我想在表格中保存一个字符串Arm_id,DSPCode,Pincode
。此格式是可配置的,即可能更改为DSPCode,Arm_id,Pincode
。我将其保存在以下列表中:
FORMAT = ['Arm_id', 'DSPName', 'Pincode']
鉴于FORMAT
可以配置,我如何读取具有提供名称的特定列的内容?
这就是我尝试过的。目前,我能够读取文件中的所有内容
from xlrd import open_workbook
wb = open_workbook('sample.xls')
for s in wb.sheets():
#print 'Sheet:',s.name
values = []
for row in range(s.nrows):
col_value = []
for col in range(s.ncols):
value = (s.cell(row,col).value)
try : value = str(int(value))
except : pass
col_value.append(value)
values.append(col_value)
print values
我的输出是
[[u'Arm_id', u'DSPName', u'DSPCode', u'HubCode', u'PinCode', u'PPTL'], ['1', u'JaVAS', '1', u'AGR', '282001', u'1,2'], ['2', u'JaVAS', '1', u'AGR', '282002', u'3,4'], ['3', u'JaVAS', '1', u'AGR', '282003', u'5,6']]
围绕然后我环路values[0]
试图找出FORMAT
在内容上values[0]
,然后让指数Arm_id, DSPname and Pincode
在values[0]
,然后从下一个循环,我知道所有的指数FORMAT
的因素,从而让知道哪些价值,我需要得到的。
但这是一个糟糕的解决方案。
如何获取Excel文件中具有名称的特定列的值?
这是一种方法:
from xlrd import open_workbook
class Arm(object):
def __init__(self, id, dsp_name, dsp_code, hub_code, pin_code, pptl):
self.id = id
self.dsp_name = dsp_name
self.dsp_code = dsp_code
self.hub_code = hub_code
self.pin_code = pin_code
self.pptl = pptl
def __str__(self):
return("Arm object:\n"
" Arm_id = {0}\n"
" DSPName = {1}\n"
" DSPCode = {2}\n"
" HubCode = {3}\n"
" PinCode = {4} \n"
" PPTL = {5}"
.format(self.id, self.dsp_name, self.dsp_code,
self.hub_code, self.pin_code, self.pptl))
wb = open_workbook('sample.xls')
for sheet in wb.sheets():
number_of_rows = sheet.nrows
number_of_columns = sheet.ncols
items = []
rows = []
for row in range(1, number_of_rows):
values = []
for col in range(number_of_columns):
value = (sheet.cell(row,col).value)
try:
value = str(int(value))
except ValueError:
pass
finally:
values.append(value)
item = Arm(*values)
items.append(item)
for item in items:
print item
print("Accessing one single value (eg. DSPName): {0}".format(item.dsp_name))
print
您不必使用自定义类,只需添加一个即可dict()
。但是,如果您使用类,则可以通过点符号访问所有值,如上所示。
这是上面脚本的输出:
Arm object:
Arm_id = 1
DSPName = JaVAS
DSPCode = 1
HubCode = AGR
PinCode = 282001
PPTL = 1
Accessing one single value (eg. DSPName): JaVAS
Arm object:
Arm_id = 2
DSPName = JaVAS
DSPCode = 1
HubCode = AGR
PinCode = 282002
PPTL = 3
Accessing one single value (eg. DSPName): JaVAS
Arm object:
Arm_id = 3
DSPName = JaVAS
DSPCode = 1
HubCode = AGR
PinCode = 282003
PPTL = 5
Accessing one single value (eg. DSPName): JaVAS
本文向大家介绍python读取Excel表格文件的方法,包括了python读取Excel表格文件的方法的使用技巧和注意事项,需要的朋友参考一下 python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1、安装Excel读取数据的库-----xlrd 直接pip install xlrd安装xlrd库 2、获取Excel文件的位置并且读取进来
问题内容: 是否可以用Python读取二进制MATLAB .mat文件? 我已经看到SciPy声称支持读取.mat文件,但是我没有成功。我安装了SciPy 0.7.0版,但找不到该方法。 问题答案: 需要导入,…
问题内容: 我正在尝试读取Excel文件(Office 2003)。有一个Excel文件需要上载并对其内容进行解析。 通过Google,我只能找到以下相关(且主题不足)的答案:生成Excel文件,读取Excel XML文件,读取Excel CSV文件或不完整的废弃项目。我拥有Office 2003,因此如果我需要那里的任何文件,都可以使用它们。它已安装在我的盒子上,但尚未安装,也无法安装在我的共享
问题内容: 我正在尝试读取(使用apache poi).xlsx文件,该文件不在文件系统中,但在类路径中。我正在使用Maven-因此它位于资源文件夹中。 我的代码是- 我收到此例外。 当我从文件系统读取同一文件时,一切都很好。我的代码中有错误吗?还是想念一些东西? UPDATE1:这是在Web应用程序中,因此代码已部署在tomcat 7中。 UPDATE2:当我以这种方式读取同一文件时,它可以工作
我的applet已经可以读取存储在jar中的excel文件,但是要读取excel文件,我必须使用其他5个jar(DOM4J-2.0.0-alpha-2、POI-3.9-20121203、POI-OOXML-3.9-20121203、POI-OOXML-Schemas-3.9-20121203、xbean),总共10.1mb,不包括实际的applet jar(1.36mb)。这些需要一段时间来下载,
问题内容: 对此有很多问题,但是对于如何将xlsb文件读入熊猫还没有简单的答案。是否有捷径可寻? 问题答案: 随着pandas-的发布,增加了对二进制Excel文件的支持。 笔记: 您将需要升级熊猫- 您将需要安装-
本文向大家介绍如何在Python对Excel进行读取,包括了如何在Python对Excel进行读取的使用技巧和注意事项,需要的朋友参考一下 在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗? 应对这一问题,可以将数据写excel文件,针对excel 文件
我对Java编程是新手。我当前的项目要求我读取excel表中的嵌入式(ole)文件并获取其中的文本内容。阅读嵌入式word文件的例子很好,但是我无法找到阅读嵌入式pdf文件的帮助。通过看类似的例子尝试了很少的事情....但没成功。