python打印每列的数据

时间:2017-08-25 13:15:08

标签: python xls openpyxl segment

我想在我的Excel文件中打印数据,按城市名称对其进行细分。例如,我想获得巴黎的所有列并将其放在一个新的工作表中,伦敦的列并将其放在另一个工作表中等。到目前为止,我只能打开文件并打印城市名称。我应该遵循什么方法?到目前为止,我有:

# -*- coding: utf-8 -*-


import openpyxl as px
workbook = px.load_workbook('digital_trust.xlsx')
worksheet_names = workbook.get_sheet_names()

for worksheet_name in worksheet_names:
    worksheet = workbook.get_sheet_by_name(worksheet_name)

    for row in worksheet.iter_rows():
        ville = row[3].value        
        print ville

1 个答案:

答案 0 :(得分:0)

如果我们不知道您的工作表是如何设置的,我同意@diek的帮助。

但假设您的每个城市的值都在工作表范围行[4]:行[??]中,您可以创建一个显示的城市字典及其值。

cities_values = {}
for row in worksheet.iter_rows():
  if row[3].value in cities_values:
    cities_values[row[3].value].extend( row[4:??] ) #add upper limit
  else: 
    cities_values[row[3].value] = row[4:??] #add upper limit

#create worksheets based off keys
for k in cities_values:
  workbook.create_sheet(k) 
  workbook[k]["A1"] = cities_values[k] #store data in first cell
  workbook.save("digital_trust.xlsx")