我想在excel的一列中读取数据,这是我的代码:
$(".participant:gt(1)").addClass("hidden");
$("#add-participant").on("click", function() {
$(".participant.hidden").first().removeClass("hidden");
if(!$(".participant.hidden").length) {
$(this).hide();
}
});
这是错误的,因为在工作表中没有名为col [col.num]的方法,但我只想从第8列(第H列)中提取数据,我该怎么办?
答案 0 :(得分:2)
您可以像这样获取第8列的值:
for rownum in range(sheet.nrows):
x.append(sheet.cell(rownum, 7))
答案 1 :(得分:2)
如果您没有使用xlrd锁定,我可能会使用pandas,这在处理来自任何地方的数据时非常好:
import pandas as pd
df = pd.ExcelFile('location/test.xlsx').parse('Sheet1') #you could add index_col=0 if there's an index
x=[]
x.append(df['name_of_col'])
然后,您可以将新提取的列写入带有pandas df.to_excel()
的新excel文件
答案 2 :(得分:0)
到目前为止,使用xlrd
获取列中所有值的最简单方法是col_values()
工作表方法:
x = []
for value in sheet.col_values(8):
if isinstance(value, float):
x.append(value)
(注意,如果你想要列H,你应该使用7,因为索引从0开始。)
顺便提一下,您可以使用col()
在列中获取单元格对象:
x = []
for cell in sheet.col(8):
if isinstance(cell.value, float):
x.append(cell.value)
找到这些内容的最佳位置是官方tutorial(适用于xlrd
,xlwt
和xlutils
)。您当然也可以查看documentation和源代码。
答案 3 :(得分:0)
我建议这样做:
import openpyxl
fname = 'file.xlsx'
wb = openpyxl.load_workbook(fname)
sheet = wb.get_sheet_by_name('sheet-name')
for rowOfCellObjects in sheet['C5':'C7']:
for cellObj in rowOfCellObjects:
print(cellObj.coordinate, cellObj.value)
结果:
C5 70.82
C6 84.82
C7 96.82
注意: fname 是指excel文件, get_sheet_by_name('sheet-name')是指所需的工作表,在工作表中''C5':'C7列中提到了'] 范围。
查看link了解更多详情。代码段也取自此处。
答案 4 :(得分:0)
XLRD很好,但是在这种情况下,您可能会发现Pandas很好,因为它具有使用运算符'[]'
选择列的例程。针对您的上下文的完整工作代码应为
import pandas as pd
file_location = "file_name.xlsx"
sheet = pd.read_excel(file_location)
print(x['column name of col 9'])