如何用Python 实现自动排班

如何用Python 实现自动排班,第1张

pyexcel-xls is a tiny wrapper library to read, manipulate and write data in xls format and it can read xlsx and xlsm fromat. You are likely to use it with pyexcel.

Known constraints

Fonts, colors and charts are not supported.

Installation

You can install it via pip:

$ pip install pyexcel-xls

or clone it and install it:

$ git clone hexcel-xls.git$ cd pyexcel-xls$ python setup.py install

Usage

As a standalone library

Write to an xls file

Here’s the sample code to write a dictionary to an xls file:

>>>from pyexcel_xls import save_data>>>data = OrderedDict() # from collections import OrderedDict>>>data.update({"Sheet 1": [[1, 2, 3], [4, 5, 6]]})>>>data.update({"Sheet 2": [["row 1", "row 2", "row 3"]]})>>>save_data("your_file.xls", data)

Read from an xls file

Here’s the sample code:

>>>from pyexcel_xls import get_data>>>data = get_data("your_file.xls"搭晌)>>>import json>>>print(json.dumps(data)){"Sheet 1": [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]], "Sheet 2": [["row 1", "row 2", "row 3"]]}

Write an xls to memory

Here’s the sample code to write a dictionary to an xls file:

>>>from pyexcel_xls import save_data>>>data = OrderedDict()>>>data.update({"Sheet 1": [[1, 2, 3], [4, 5, 6]]})>>>data.update({"Sheet 2"答枝知: [[7, 8, 9], [10, 11, 12]]})>>>io = StringIO()>>>清消 save_data(io, data)>>># do something with the io>>># In reality, you might give it to your http response>>># object for downloading

Read from an xls from memory

Continue from previous example:

>>># This is just an illustration>>># In reality, you might deal with xls file upload>>># where you will read from requests.FILES['YOUR_XL_FILE']>>>data = get_data(io)>>>print(json.dumps(data)){"Sheet 1": [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]], "Sheet 2": [[7.0, 8.0, 9.0], [10.0, 11.0, 12.0]]}

As a pyexcel plugin

Import it in your file to enable this plugin:

from pyexcel.ext import xls

Please note only pyexcel version 0.0.4+ support this.

Reading from an xls file

Here is the sample code:

>>>import pyexcel as pe>>>from pyexcel.ext import xls>>>sheet = pe.get_book(file_name="your_file.xls")>>>sheetSheet Name: Sheet 1+---+---+---+| 1 | 2 | 3 |+---+---+---+| 4 | 5 | 6 |+---+---+---+Sheet Name: Sheet 2+-------+-------+-------+| row 1 | row 2 | row 3 |+-------+-------+-------+

Writing to an xls file

Here is the sample code:

>>>sheet.save_as("another_file.xls")

Reading from a IO instance

You got to wrap the binary content with stream to get xls working:

>>># This is just an illustration>>># In reality, you might deal with xls file upload>>># where you will read from requests.FILES['YOUR_XLS_FILE']>>>xlsfile = "another_file.xls">>>with open(xlsfile, "rb") as f:...     content = f.read()...     r = pe.get_book(file_type="xls", file_content=content)...     print(r)...Sheet Name: Sheet 1+---+---+---+| 1 | 2 | 3 |+---+---+---+| 4 | 5 | 6 |+---+---+---+Sheet Name: Sheet 2+-------+-------+-------+| row 1 | row 2 | row 3 |+-------+-------+-------+

Writing to a StringIO instance

You need to pass a StringIO instance to Writer:

>>>data = [...     [1, 2, 3],...     [4, 5, 6]... ]>>>io = StringIO()>>>sheet = pe.Sheet(data)>>>sheet.save_to_memory("xls", io)>>># then do something with io>>># In reality, you might give it to your http response>>># object for downloading

License

New BSD License

Known Issues

If a zero was typed in a DATE formatted field in xls, you will get “01/01/1900”.

If a zero was typed in a TIME formatted field in xls, you will get “00:00:00”.

Dependencies

xlrd

xlwt-future

pyexcel-io >= 0.0.4

可以使用 Python 的列表切片和排序函数来实现这个功能。具体步骤如下:

从键盘输入一个含有整数元素的列表。

使用列表切片技术取出列表中的偶数奇数,分别存储在不同的列表中。

对两个列表进行排序,将偶数列表按照升序排列放在奇数列表前面。

将排序后的偶数列表和搏肆奇数列表合并成一个列表。

输出合并后的列表。

下面是具体的代码实现:

Copy code

list1 = input("请输入一个含有整数元素的列表:")

list2 = []

list3 = []

for i in list1:

if i % 2 == 0:

list2.append(i)

else:

list3.append(i)

list4 = list2 + list3

list4.sort()

print("合并后的列表为:"渣链, list4)

在这个代码中,首先基梁轿从键盘输入一个含有整数元素的列表,然后使用列表切片技术取出列表中的偶数和奇数,分别存储在不同的列表中。接着对两个列表进行排序,将偶数列表按照升序排列放在奇数列表前面。最后,将排序后的偶数列表和奇数列表合并成一个列表,输出合并后的列表。

好的,这是一个很有趣的衡指慧想法。要实现这个程序,你需要搭建逗茄一个循环,用来在设定的5个学生数量内不断收集学生信息:

students = []

for i in range(5):

name = input("请输入学生姓名:咐答")

year = input("请输入学生入学年份:")

students.append({"name": name, "year": year})

for student in students:

print("学生{name}入学{year}年".format(**student))


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12334351.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存