我认为我对python专家有一个相当简单的问题。经过很多努力,我把代码放在一起。我打开一个excel文件,将其转换为列表列表并在此列表列表中添加一列。现在我想重命名并重新计算此添加列的行。我如何编写脚本,我总是采用列表列表的最后一列,即使列数可能不同。
import xlrd
file_location = "path"
workbook = xlrd.open_workbook(file_location)
sheet = workbook.sheet_by_index(0)
data = [[sheet.cell_value(r, c) for c in range(sheet.ncols)] for r in range(sheet.nrows)]
data = [x + [0] for x in data]
答案 0 :(得分:1)
如果你有一个名为calculate_value
的函数需要一行并返回该行的值,你可以这样做:
def calculate_value(row):
# calculate it...
return value
def add_calculated_column(rows, func):
result_rows = []
for row in rows:
# create a new row to avoid changing the old data
new_row = row + [func(row)]
result_rows.append(new_row)
return result_rows
data_with_column = add_calculated_column(data, calculate_value)
答案 1 :(得分:0)
我找到了一种更简单,更灵活的方法来调整最后一列中的值。
counter = 0
for list in data:
counter = counter + 1
if counter == 1:
value = 'Vrspng'
else:
value = counter
list.append(value)