python操作excel表格写入多行和多列_python多处理:写入同一excel-fi
1) Why did you implement time.sleep in several places in your 2nd method?
在__main__,time.sleep(0.1),给启动的process一个启动的时间片。
在f2(fq, q)中,给queue一个时间片,以将所有缓冲数据刷新到管道,并
使用q.get_nowait()。
在w(q)中,仅用于测试writer.to_excel(...)的长期运行,
我把这个拿走了。在2) What is the difference between pool.map and pool = [mp.Process( . )]?
使用pool.map不需要Queue,不传递任何参数,更短的代码。
worker_process必须立即返回result并终止。
pool.map只要iteration都完成了,就会启动一个新进程。
在此之后必须处理results。在
使用pool = [mp.Process( . )],启动nprocesses。
process终止于queue.EmptyCan you think of a situation where you would prefer one method over the other?
方法1:快速设置,序列化,只对结果感兴趣继续。
方法二:如果你想把所有的工作负荷都并行进行。在
你不能在进程中使用global writer。
writer实例必须属于一个process。在
mp.Pool的用法,例如:def f1(k):
# *** DO SOME STUFF HERE***
results = pd.DataFrame(df_)
return results
if __name__ == '__main__':
pool = mp.Pool()
results = pool.map(f1, range(len(list_of_days)))
writer = pd.ExcelWriter('../test/myfile.xlsx', engine='xlsxwriter')
for k, result in enumerate(results):
result.to_excel(writer, sheet_name=list_of_days[k])
writer.save()
pool.close()
这导致.to_excel(...)在__main__进程中按顺序调用。在
如果你想要并行.to_excel(...),你必须使用mp.Queue()。
例如:
worker过程:
^{pr2}$
writer过程:def w(q):
writer = pd.ExcelWriter('myfile.xlsx', engine='xlsxwriter')
while True:
try:
titel, result = q.get()
except ValueError:
writer.save()
exit(0)
result.to_excel(writer, sheet_name=titel)
__main__过程:if __name__ == '__main__':
w_q = mp.Queue()
w_p = mp.Process(target=w, args=(w_q,))
w_p.start()
time.sleep(0.1)
f_q = mp.Queue()
for i in range(len(list_of_days)):
f_q.put(i)
pool = [mp.Process(target=f2, args=(f_q, w_q,)) for p in range(os.cpu_count()+1)]
for p in pool:
p.start()
time.sleep(0.1)
for p in pool:
p.join()
w_q.put('STOP')
w_p.join()
测试Python:3.4.2-熊猫:0.19.2-十lsxwriter:0.9.6
python操作excel表格写入多行和多列_python多处理:写入同一excel-fi相关推荐
- python利用表格中的某一个列_python取excel表格第一列数据?python操作excel,使用xlrd模块,获取某一列数据的语句为...
用Python修改excel中一列数据 可以使用pandas库,先读取excel文件,然后使用pandas库来修改一列,然后写入文件即可. 怎样用python,读取excel中的一列数据 sheet. ...
- 如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件?
如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件? 1.问题描述 2.解决过程 2.1 问题分析: 2.2 解决思路 3.运行结果 1.问题描述 最近在处理一堆工 ...
- word文档中找不到服务器,【在WORD文件中插入excel表格,编辑保存后重新打开word文件并双击excel时提示“找不到服务器应用程序、源文件】excel整个表格不见了...
为什么PPT插入EXCEL表格时显示无法找到服务器应用程序 这是由于excel或者ppt只能兼容.低版本的ppt和excel是无法打版本excel插入的表格的. 解决如下: 1.新建一个文本,将后缀名 ...
- 成功解决在excel表格中仅在某列内插入一个空白单元格,使其下部的数据整体下移一格
成功解决在excel表格中仅在某列内插入一个空白单元格,使其下部的数据整体下移一格 目录 解决问题 解决方法 解决问题 在excel表格中仅在某列内插入一个空白单元格,使其下部的数据整体下移一格 解决 ...
- excel表格导出之后身份证号列变成了科学计数法
excel表格导出之后身份证号列变成了科学计数法 解决:写sql查询出所有数据,并在身份证列添加字符,然后导出,将要复制的excel表格设置单元格格式问文本类型,然后复制粘贴,再把加入的字符删除,搞定 ...
- axure中怎么做出固定首行_办公软件操作技巧078:如何在excel表格中冻结行与列...
在日常工作中,有时我们编辑的excel表格会比较大,数据内容有很多行和列,当我们拖动滚动条找到了离表头比较远的数据行或列的内容时,又看不到行或列表头标题信息了,这时再去处理数据信息就会感觉很不方便,如 ...
- php表格制作4行两列的表格,excel表格怎么插行和列?
表格插入行的方法:将鼠标移动行数的编号上,右击选择"插入",再通过输入数值来确定需要添加的行数,回车即可.表格插入列的方法:将鼠标移动列数的编号上,右击选择"插入&quo ...
- php添加表格行列,excel表格怎么插行和列?
表格插入行的方法:将鼠标移动行数的编号上,右击选择"插入",再通过输入数值来确定需要添加的行数,回车即可.表格插入列的方法:将鼠标移动列数的编号上,右击选择"插入&quo ...
- python操作excle表格
基础练习 话不多说,先做一下基础练习.来,左边跟我一起画个龙,右边画一道彩虹. # import paramiko # import time import openpyxl from openpyx ...
最新文章
- 美团在Redis上踩过的一些坑-3.redis内存占用飙升
- HiveQL基本操作整理
- 到底要不要考研?读完研究生就能找到好工作了吗?
- python 编译成exe黑屏_python''外星人入侵''打包成exe遇到的问题和解决办法,闪退,黑屏。...
- 【论文阅读】Rich feature hierarchies for accurate object detection and semantic segmentation
- mysql like 4种优化_mysql like优化_超级优化 清木桥
- 免费股票量化交易软件有哪些?
- [Python] GAMP结果文件批量统计与绘图
- 设计系统测试用例时应考虑的类型
- mysql写保护_简易修改注册表!小白都会去掉u盘写保护
- 微信小程序marker官方示例中,模拟器和真机显示不同的原因
- VLAN tag格式
- sqlrelay mysql_sql relay 使用
- python mp3转wav_python 录音,WAV转MP3
- 喝酒神器摇骰子小程序源码分享以及搭建效果图
- 新版win10的恢复语言栏设置
- MySQL the configuration step Starting Server is taking the longer than expected
- gromacs 安装_GROMACS安装专述
- 接受密码和用户名,若用户名为‘admin‘,密码为‘‘123456‘则显示用户登录成功,否则一直登录
- php随机生成汉字、随机字符串
热门文章
- Opportunity的status改为lost后,chance of success仍然为100的原因
- What happens when clicking interaction record work center?
- SAP cloud platform 504 gateway time out Cloud connector
- nodejs request module里的json参数的一个坑
- python人脸识别opencv_用python和opencv 做人脸识别
- mysql 执行报错及解决方法 Multi-statement transaction required more than ‘max_binlog_cache_size‘
- 我的世界卸载java_我的世界:官方移除了Herobrine?一个骗了玩家十年的谎言!...
- 大华供应链管理平台_files_锦江全球采购平台SRM系统2.0版本上线 打造更智能的供应链...
- pwn波c语言程序,pwn的一些命令
- 带有下标的赋值维度不匹配_KDD 2019|?结构感知的神经网络对人才-组织匹配的影响...