At July 17 A.

This commit is contained in:
zhaoyafan 2022-07-17 01:36:33 +08:00
parent 79e08afc92
commit 2e0ebf2962
7 changed files with 79 additions and 8 deletions

View File

@ -1,4 +1,5 @@
import os, re, openpyxl
from openpyxl.cell import MergedCell
from openpyxl.utils import get_column_letter, column_index_from_string
@ -131,6 +132,7 @@ class Excel:
if row < 0 or col < 0:
raise Exception('行或列值必须大于等于0 | Row or column values must be at least 0.')
cell_object = self.__workshet__.cell(row=row + 1, column=col + 1)
cell_object = self._parseMergedCell(cell_object)
self.cellSelect(cell=cell_object)
return cell_object.value
@ -141,6 +143,7 @@ class Excel:
if row < 0 or col < 0:
raise Exception('行或列值必须大于等于0 | Row or column values must be at least 0.')
cell_object = self.__workshet__.cell(row=row + 1, column=col + 1)
cell_object = self._parseMergedCell(cell_object)
self.cellSelect(cell=cell_object)
cell_object.value = value
self.saveAuto()
@ -259,10 +262,18 @@ class Excel:
for lineList in cellList:
lineResult = []
for cellObject in lineList:
lineResult.append(cellObject)
lineResult.append(self._parseMergedCell(cellObject))
result.append(lineResult)
return result
def _parseMergedCell(self, cell):
if isinstance(cell, MergedCell):
for mergeArea in self.__workshet__.merged_cells.ranges:
if cell.coordinate in mergeArea:
cell = self.__workshet__.cell(row=mergeArea.min_row, column=mergeArea.min_col)
return cell
if __name__ == '__main__':
# Example.
# 创建新的Excel文件
@ -282,13 +293,13 @@ if __name__ == '__main__':
print(excel.cellGetView(area='A'))
print(excel.cellGetView(area='1'))
print(excel.cellPutView(area='A1:Z256', value=
[
['1', '2', '3', '4', '5'],
['A', 'B', 'C', 'D', 'E'],
['A', 'B', 'C', 'D', 'E'],
['A', 'B', 'C', 'D', 'E']
]
))
[
['1', '2', '3', '4', '5'],
['A', 'B', 'C', 'D', 'E'],
['A', 'B', 'C', 'D', 'E'],
['A', 'B', 'C', 'D', 'E']
]
))
print(excel.sheetRename('表一'))
print(excel.sheetCreate('表二'))
print(excel.sheetCreate('表三'))

20
Base/Class/Json.py Normal file
View File

@ -0,0 +1,20 @@
import json
def json_encode(data, indent=None):
return json.dumps(data, indent=indent)
def json_decode(data):
return json.loads(data)
if __name__ == '__main__':
# Example.
data_encode = {"id": 101, "name": "小明", "friends": ["小红", "小花"]}
data_decode = """
{"id": 101, "name": "\u5c0f\u660e", "friends": ["\u5c0f\u7ea2", "\u5c0f\u82b1"]}
"""
print(json_encode(data_encode))
print(json_encode(data_encode, indent=4))
print(json_decode(data_decode))

26
Base/Class/Yaml.py Normal file
View File

@ -0,0 +1,26 @@
import yaml
def yaml_encode(data, indent=None):
return yaml.dump(data, indent=indent, allow_unicode=True, sort_keys=False)
def yaml_decode(data):
return yaml.load(data, Loader=yaml.FullLoader)
if __name__ == '__main__':
# Example.
data_encode = {"id": 101, "name": "小明", "friends": ["小红", "小花"], "list": {"a": 1, "b": 5}}
data_decode = """
id: 101
name: 小明
friends:
- 小红
- 小花
list:
a: 1
b: 5
"""
print(yaml_encode(data_encode))
print(yaml_decode(data_decode))

14
main7.py Normal file
View File

@ -0,0 +1,14 @@
from Base.Class.Excel import *
if __name__ == '__main__':
# Example.
# 打开现有Excel文件
excel = Excel().open(filename='./example.xlsx')
excel.select(2)
# print(excel.cellGetView('A1:C9'))
# print(excel.cellGetView('1:9'))
print(excel.cellGetView('1:9'))
# excel.save()
# print(excel.cellGetView(area='F6:F11'))