Python中文
首页
教程
问答
标签
搜索
登录
注册
Python中数值数据到定宽格式文件的快速转换
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>将只保存数字数据的记录转换为固定格式字符串并将其写入Python文件的最快方法是什么?例如,假设<code>record</code>是一个由具有<code>id</code>、<code>x</code>、<code>y</code>和{<cd5>}属性的对象组成的庞大列表,我们经常需要将它们刷新到外部文件中。可以使用以下代码段完成刷新:</p> <pre><code>with open(serial_fname(), "w") as f: for r in records: f.write("%07d %11.5e %11.5e %7.5f\n" % (r.id, r.x, r.y, r.wt)) </code></pre> <p>然而,我的代码在生成外部文件上花费了太多的时间,而在两次刷新之间留给它的时间太少了。在</p> <p><strong>修改原问题:</strong></p> <p>我在编写一个服务器软件时遇到了这个问题,该软件通过从几个“生产者”系统中提取信息来跟踪一个全局记录集,并将对记录集的任何更改以预处理的形式实时或接近实时地传递给“消费者”系统。许多消费系统都是Matlab应用程序。在</p> <p>我在下面列出了到目前为止收到的一些建议(谢谢),并提出了一些意见:</p> <ul> <li><strong>只转储更改,而不是整个数据集:</strong>实际上我已经在做了。由此产生的变更集仍然很大。在</li> <li><strong>使用二进制(或其他更有效的)文件格式:</strong>我很受Matlab能够合理有效地读取的限制,而且格式应该是独立于平台的。在</li> <li><strong>使用数据库:</strong>我实际上是在试图绕过目前的数据库解决方案,它被认为是既慢又麻烦,尤其是在Matlab方面。在</li> <li><strong>将任务划分为单独的进程:</strong>此时转储代码正在其自己的线程中运行。然而,由于GIL,它仍然在消耗相同的核心。我想我可以把它移到完全独立的进程。在</li> </ul>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以尝试在内存中构建所有输出字符串,例如使用长字符串。 然后在文件中写入这个长字符串。在</p> <p>更快: 您可能希望使用二进制文件而不是文本文件来记录信息。但是你需要编写另一个工具来查看二进制文件。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何变换矩阵中的区域?
2 回答
如何叠加不同单元格的图表?
8 回答
如何叠加张量图像
9 回答
如何只“grep过滤”邮件mbox文件中的邮件头
9 回答
如何只“清除”特定的Flask会话变量?
10 回答
如何只上传源文件到github?
7 回答
如何只下载数据Python的前x个字节
10 回答
如何只下载新文件?
2 回答
如何只与相对路径连接?
2 回答
如何只为1个字母后跟句号编写正则表达式?
10 回答
如何只为IsB列在表中不为空的记录设置IsA?
3 回答
如何只为pandas中数据帧的某些列绘制柱状图
2 回答
如何只为一个值创建计数图?
5 回答
如何只为一个函数存储一次常量?
6 回答
如何只为列中的特定值生成虚拟变量?
4 回答
如何只为在Python中使用的实现支付依赖惩罚?
1 回答
如何只交换两列的值,而将其余的保持在数据帧中?
7 回答
如何只从html中获取产品id?
7 回答
如何只从iloc中获取数据,而不从它附带的索引中获取数据,并将其放入sql where in{}查询中
3 回答
如何只从Pandas中的前20个唯一日期(其实例计数不相等)中选择所有列值
5 回答