Skip to content

Commit 1b8f13f

Browse files
author
lwhhhh
committed
17题,完成得不是很完美(解决不了无法换行的问题)
1 parent d44a72c commit 1b8f13f

3 files changed

Lines changed: 58 additions & 0 deletions

File tree

lwh/17/demo.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"1":["张三",150,120,100],
3+
"2":["李四",90,99,95],
4+
"3":["王五",60,66,68]
5+
}

lwh/17/test.xlsx

5.48 KB
Binary file not shown.

lwh/17/xlxs_to_xml.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
from xml.etree.ElementTree import ElementTree, Element, SubElement, Comment
2+
from openpyxl import load_workbook
3+
import json
4+
from pprint import pprint
5+
6+
7+
class ExcelToXml(object):
8+
9+
def __init__(self):
10+
self.path_save = '/home/lwh/SublimeTextProject/test.xml'
11+
self.path_read = '/home/lwh/SublimeTextProject/test.xlsx'
12+
self.excel_dict = self.get_excel_dict()
13+
self.data = self.get_text(self.excel_dict)
14+
self.xml_final = self.get_xml(self.data)
15+
self.save_xml(self.xml_final)
16+
17+
def get_excel_dict(self):
18+
wb = load_workbook(self.path_read)
19+
wb_sheet_student = wb['student']
20+
excel_dict = {}
21+
for row in wb_sheet_student.iter_rows():
22+
key = str(row[0].value).strip()
23+
value_list = row[1:]
24+
value = [ele.value for ele in value_list]
25+
excel_dict[key] = str(value)
26+
return excel_dict
27+
28+
def get_text(self, excel_dict):
29+
res = '{\r\n'
30+
for key, val in excel_dict.items():
31+
res += ' ' + str(key) + ':' + val + '\n'
32+
res += '}\n'
33+
# print(res)
34+
return res
35+
36+
def get_xml(self, data):
37+
root = Element('root')
38+
student = SubElement(root, 'students')
39+
student.append(Comment('学生信息表 "id" : [名字, 数学, 语文, 英文]'))
40+
# student.
41+
print(data)
42+
student.text = data
43+
xml_final = ElementTree(root)
44+
# print(xml_final)
45+
return xml_final
46+
47+
def save_xml(self, xml_to_save):
48+
xml_to_save.write(
49+
self.path_save, encoding="us-ascii", default_namespace=None, short_empty_elements=True)
50+
51+
52+
if __name__ == '__main__':
53+
excel_to_xml_obj = ExcelToXml()

0 commit comments

Comments
 (0)