from openpyxl import load_workbook
from openpyxl.chart import BarChart, Reference
from openpyxl.chart import LineChart, Reference
workbook = load_workbook(filename='/Users/konger/Documents/班车时间表.xlsx')
sheet = workbook['简单数据']
chart = BarChart() # 创建柱状图。
# 并设定数据范围:第1行到第3行,第2列到第13列。
data = Reference(worksheet=sheet, min_row=1, max_row=3, min_col=2, max_col=13)
# 设置x轴项目名称:第1列的第2行到第3行。
categories = Reference(worksheet=sheet, min_row=2, max_row=3, min_col=1)
chart.add_data(data, titles_from_data=True)
chart.set_categories(categories) # 设定x轴类目
sheet.add_chart(chart, 'B5')
workbook.save(filename='/Users/konger/Documents/班车时间表.xlsx')
chart = LineChart()
data = Reference(worksheet=sheet, min_row=2, max_row=3, min_col=1, max_col=13)
categories = Reference(worksheet=sheet, min_col=2, max_col=13, min_row=1)
# from_rows=True,表示数据是横向的。
chart.add_data(data, from_rows=True, titles_from_data=True)
chart.set_categories(categories)
sheet.add_chart(chart, 'H5')
workbook.save(filename='/Users/konger/Documents/班车时间表.xlsx')
2、
from openpyxl import load_workbook
workbook = load_workbook(filename='/Users/konger/Documents/班车时间表.xlsx')
sheet = workbook['练习']
cell = sheet['A8']
cell.value = '这个是A8单元格!' # 给单元格赋值
workbook.save(filename='/Users/konger/Documents/班车时间表.xlsx') # 保存表格
# 用Python列表数据插入一行: sheet.append(Python列表)
data = [
['a', 1],
['b', 2],
['c', 3],
['d', 4],
]
for row in data:
sheet.append(row)
workbook.save(filename='/Users/konger/Documents/班车时间表.xlsx')
workbook2 = load_workbook(filename='/Users/konger/Documents/班车时间表.xlsx')
sheet2 = workbook['简单数据']
# 把所有的元素提取出来,生成一个新的字符串。
s1 = ''
for row in sheet2.rows:
for cell in row:
s1 = s1 + str(cell.value) + ','
print(s1)
3、
import xlrd
from openpyxl import load_workbook
# xlsxFile = xlrd.open_workbook('/Users/konger/Documents/班车时间表.xlsx')
# table = xlsxFile.sheet_by_index(0)
# # table = xlsxFile.sheet_by_name("西安一区")
# print(table.cell_value(0, 0))
# print(table.cell(1, 2).value)
# print(table.row(1)[2].value)
# print('\n')
workbook = load_workbook(filename='/Users/konger/Documents/班车时间表.xlsx')
print(workbook.sheetnames)
print(workbook.sheetnames[0])
print('\n')
sheet1 = workbook[workbook.sheetnames[0]] # 打开一个sheet表格
print(sheet1.dimensions) # 打印当前表格的规模,从A1到多少。
print(sheet1.max_row)
print(sheet1.max_column)
sheet2 = workbook['练习'] # 打开名称为'练习'的sheet
print(sheet2.rows)
print(sheet2.columns)
# 遍历表格并打印单元格内容:
for row in sheet2.rows:
for cell in row:
if cell.value is not None: # 判断单元格是否为空:
print(cell.value)
else:
print('空单元格!!!!!!!!')
print('\n')
cell1 = sheet1['A2']
print(cell1.value)
cell2 = sheet1.cell(row=2, column=1)
print(cell2.value)
cells1 = sheet1['A1:A5']
print(cells1)
cells2 = sheet1['A']
print(cells2)
4、
from openpyxl import load_workbook
workbook = load_workbook(filename='/Users/konger/Documents/班车时间表.xlsx')
sheet = workbook['站点ID']
s1 = ''
for row in sheet.rows:
for cell in row:
s1 = s1 + str(cell.value) + ','
print(s1)
s2 = []
for row in sheet.rows:
for cell in row:
s2.append(','.join(str(cell.value)))
print(s2)