1、当使用requests的get下载大文件/数据时,建议使用使用stream模式。
当把get函数的stream参数设置成False时,它会立即开始下载文件并放到内存中,如果文件过大,有可能导致内存不足。
当把get函数的stream参数设置成True时,它不会立即开始下载,当你使用iter_content或iter_lines遍历内容或访问内容属性时才开始下载。需要注意一点:文件没有下载之前,它也需要保持连接。
- iter_content:一块一块的遍历要下载的内容
- iter_lines:一行一行的遍历要下载的内容
使用上面两个函数下载大文件可以防止占用过多的内存,因为每次只下载小部分数据。
示例代码:
r = requests.get(url_file, stream=True)
f = open("file_path", "wb")
for chunk in r.iter_content(chunk_size=512):
if chunk:
f.write(chunk)
2、判断系统类型
inport platform
if(platform.system()=="Linux"):
pass
if(platform.system()=="Windows):
pass
3、字符串与datetime的相互转换
- now =datetime(2018,12,19) print(str(now))
- python中的datetime类不支持Json序列化:可以将其变为字符串
-
t=time.strptime("2019-12-12T12:12:12+8:00","%Y-%m-%dT%H:%M:%S+8:00")将特定格式的时间字符串转 为结构化时间
-
time.strftime("%Y-%m-%d %H:%M:%S",t)结构化时间转为字符串
4、Linux 下快速清空文件:
cat /etc/null > text.txt
5、python导出excel常用格式样式设置
# encoding:utf-8
import xlwt
from xlwt import *
book = Workbook(encoding='utf-8')
sheet = book.add_sheet('Sheet1') #创建一个sheet
#-----样式设置----------------
alignment = xlwt.Alignment() #创建居中
alignment.horz = xlwt.Alignment.HORZ_CENTER #可取值: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_CENTER # 可取值: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
style = xlwt.XFStyle() # 创建样式
style.alignment = alignment # 给样式添加文字居中属性
style.font.height=430 #设置字体大小
#----------设置列宽高--------------
col1=sheet.col(0) #获取第0列
col1.width=380*20 #设置第0列的宽为380,高为20
#----------合并单元格-----------
sheet.write_merge(4,6,0,1,'测试合并行和列数据',style) #合并第4到6行的0列和第1列,并将样式添加进去,注意:excel的行和列都是从0开始
sheet.write(0, 0,'姓名',style) #给第0行的第0列插入值,并添加样式
sheet.write(0, 1,'年龄',style) #给第0行的第1列插入值,并添加样式
sheet.write(0, 2,'性别',style) #给第0行的第2列插入值,并添加样式
#创建一个测试数据列表
stu_list=[{},{"name":"张三","age":23,"gender":"男"},{"name":"李四","age":22,"gender":"男"},{"name":"王五","age":25,"gender":"男"}]
#循环插入值
for index,x in enumerate(stu_list):
if index!=0:
sheet.write(index, 0,x["name"],style)
sheet.write(index, 1,x["age"],style)
sheet.write(index, 2,x["gender"],style)
book.save('demo1.xls')
---------------------
原文:https://blog.csdn.net/qq_32502511/article/details/53463743
- xlwt中合并单元格的操作
#!/usr/bin/env python3.6
# encoding: utf-8
'''
@author: Leo
@contact:
@software: PyCharm
@file: Add_row_and_col.py
@time: 2018/10/15 下午 06:43
@desc:
'''
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My sheet')
# 合并第0行的第0列到第3列。
worksheet.write_merge(0, 0, 0, 3, 'First Merge')
font = xlwt.Font()
font.blod = True
pattern_top = xlwt.Pattern()
pattern_top.pattern = xlwt.Pattern.SOLID_PATTERN
pattern_top.pattern_fore_colour = 5
style = xlwt.XFStyle()
style.font = font
style.pattern = pattern_top
# 合并第1行到第2行的第0列到第3列。
worksheet.write_merge(1, 2, 0, 3, 'Second Merge', style)
worksheet.write_merge(4, 6, 3, 6, 'My merge', style)
workbook.save('E:\\test\\xls_xlwt\Merge_cell.xls')
-----------------------------------------------------------------
原味:https://blog.csdn.net/weixin_42122355/article/details/83683934