如何使用python读取excel中的一列

时间:2016-03-26 12:56:53

标签: python excel

我想在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列)中提取数据,我该怎么办?

5 个答案:

答案 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(适用于xlrdxlwtxlutils)。您当然也可以查看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'])