一、openpyxl的使用
wb = openpyxl.load_workbook('1.xlsx')
sheet = wb['Sheet1'] # 或者通过数字索引选择:sheet = wb[0]
#以元组形式按行添加进列表
for row in sheet.iter_rows(min_row=3, max_row=4, values_only=True):
l1.append(row)
#value=sheetx0['B' + str(j)].value代表Bj单元格里的值
#把Bj单元格里的值赋予[1,4]格子
sheet.cell(row=1, column=4, value=sheetx0['B' + str(j)].value)
# 保存.xls到当前工作目录, 一定要加这一句
workbook.save('r.xlsx')
二、知识
a = [1, 2, 3]
b = [4, 5, 6]
print(a+b)
[1,2,3,4,5,6]
s1 = 'aabbcc'
s2 = 'abc'
find = s1.find(s2)
if find != -1 :
print('s2是s1的子串')
else:
print('s2不是s1的子串')
count()函数没有匹配到对象返回0
index()函数没有匹配到对象报错value Error
find()函数没有匹配到对象返回-1
in 没有匹配到对象返回false
input的使用
username, passwd = input("用户名,密码:").split()
# 注意input() 的返回类型是str
print(username,passwd)
map()的使用
>>> def square(x) : # 计算平方数
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
<map object at 0x100d3d550> # 返回迭代器
>>> list(map(square, [1,2,3,4,5])) # 使用 list() 转换为列表
[1, 4, 9, 16, 25]
>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]
>>>
a = list(map(int, input().split()))
# 创建一个列表,使用 split() 函数进行分割
# map() 函数根据提供的函数对指定序列做映射,就是转化为int型
print間隔sep的使用(怎麽忽然變成繁體字了?奇怪極了!)
def doubleheight():
a, b = input().split()
return print(2 * int(a), 2 * int(b), sep="\n")
func的返回
>>>def f(x, y):
return x + y, x - y, 3, [5,2,0], "左缩进CTRL+<- 格式化shift+Alt+F"
返回元组(x+y的值,x-y的值,3,[5,2,0],"左缩进CTRL+<- 格式化shift+Alt+F")
list的函数
list = input().split()
print(list.count('NiuNiu')) # 返回字符串在列表出现次数
print(list.index('NiuNiu')) # 返回字符串在列表第一次出现索引,从0计数
zip对应结合为一个元组
lst1 = ["NiuMei", "NiuKele", "NiuNeng"]
lst2 = [3, 4, 5, 8]
print(list(zip(lst1,lst2)))
输出[('NiuMei', 3), ('NiuKele', 4), ('NiuNeng', 5)]
切片操作
lst = input().split()
for i in lst[::5]:
print(i)
每隔五个输出一个lst的元素
列表解析式
numbers = [1, 2, 3, 4, 5]
doubled_odds = []
for n in numbers:
if n % 2 == 1:
doubled_odds.append(n * 2)
numbers = [1, 2, 3, 4, 5]
doubled_odds = [n * 2 for n in numbers if n % 2 == 1]
n = 5
lst = [2 * i for i in range(1,n+1)]
print(lst)
>>>[2, 4, 6, 8, 10]