Jer*_*rks 5 python csv performance split
假设我有一个字符串,其中包含来自数据库或电子表格的数据,采用逗号分隔格式.
例如:
data = "hello,how,are,you,232.3354,good morning"
Run Code Online (Sandbox Code Playgroud)
假设这些"记录"中可能有200个字段.
我有兴趣查看此记录的某些字段.Python中最快的方法是什么?
最简单的方法是:
fields = data.split(",")
result = [fields[4], fields[12], fields[123]]
Run Code Online (Sandbox Code Playgroud)
有没有更快的方法来做到这一点,利用以下事实:
我曾尝试使用重复调用来编写一些代码来查找跳过传递的逗号,但如果最后一个字段在字符串中太远,则会比基本的拆分解决方案慢.
我正在处理数百万条记录,所以任何加速都会受到欢迎.
如果result可以是 atuple而不是列表,您可能会使用以下方法获得一些加速(如果您正在进行多次调用)operator.itemgetter:
from operator import itemgetter
indexer = itemgetter(4,12,123)
result = indexer(data.split(','))
Run Code Online (Sandbox Code Playgroud)
不过,您需要timeit实际查看是否获得加速。
| 归档时间: |
|
| 查看次数: |
1454 次 |
| 最近记录: |