V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  sjmcefc2  ›  全部回复第 42 页 / 共 43 页
回复总数  857
1 ... 34  35  36  37  38  39  40  41  42  43  
❮ ❯
2018 年 5 月 7 日
回复了 sjmcefc2 创建的主题 › Python › 请教爬取裁判文书网的搜索信息,有没有现成的轮子呢?
@18817837227 ok,话说,如果爬上面的文档,用什么数据库存储比较好?
2018 年 5 月 7 日
回复了 sjmcefc2 创建的主题 › Python › 请教爬取裁判文书网的搜索信息,有没有现成的轮子呢?
@18817837227 非常感谢哈。
有没有简单成型的,目前不需要爬下文档,只要个搜索之后的左边的统计信息就好了
2018 年 5 月 6 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@livc 目前只会 sed
@memorybox 这个可以试试。
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@fakevam 目前看起来确实是 mmap 慢一些,当然我是两种都读一个文件,不知道是不是有影响。
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@widewing ctrl+v+a,这个弄错了,不好意思。
@ioth 带有分隔符的文本文件,后续按照分隔符拆分。
@crb912 好吧,我错了,只是想问如何才能更快的遍历

@silymore print 最慢?那我去掉。现在 for line in input 和 mmap 一起运行,觉得 mmap 还没有前者快?错觉?





with open("test1.txt","r+b") as f:
mm = mmap.mmap(f.fileno(),0,prot=mmap.PROT_READ)
while True:
line = mm.readline()
#print line
if line == '':
break
for v in line.split('^A'):
# print chardet.detect(v)
#print chardet.detect(v)['encoding']
try:
if(chardet.detect(v)['encoding'] in ['ascii','none','utf-8','GB2312','GBK','Big5','GB18030','windows-1252']):
print v.decode(chardet.detect(v)['encoding']).encode('utf-8')
else:
print v.decode('utf-8').encode('utf-8')
except:
with open('error_mmap.txt','a') as e:
e.write(line)
m.close()
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
with open("test1.txt","r+b") as f:
mm = mmap.mmap(f.fileno(),0)
while True:
line = mm.readline()
print line
if line == '':
break
for v in line.split('^A'):#这个分界符不起作用了
print v
m.close()
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@dychenyi 按行读取没啥问题,就是貌似 mmap 之后,把我的分界符号吃掉了呢
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@swulling print 一行,没有其他逻辑处理。

@crayygy 10G,最后剩下 2G,这得多大的重复?丢失多少信息?

@swulling 目前只是一行行的读,然后在每行中 split 出每一个段。mmap 貌似会吃掉这个分界符。这样后续我就不行了
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@qsnow6 流读取会把不可见的分隔符给搞掉吧,比如 hive 的^A
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@notreami 太崇拜你了,哲学啊。
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@yunpiao111 混合编码文本,单机多核心,pyspark 有逐行读取的案例?貌似在 api 里面没看到逐行读取的。。。。
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
@qsnow6 能给一个 python 流的例子吗
用 mmap,42m 读了 900 万条
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
主要用来按行读取,然后 split,然后判断每个字段的编码,java 有这些? go 能满足?速度如何?
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
python 的 mmap 用行读取的方法?这样行吗,但是感觉还是很慢
with open(STAT_FILE, "r+b") as f:
m=mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ)
while True:
line=m.readline()
if line == '': break
print line.rstrip()

必须其他语言?
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
mmap 的话,如何逐行读取呢
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
100G 的文本。大家有好方式吗
2018 年 5 月 5 日
回复了 sjmcefc2 创建的主题 › Python › 读取大文件,最快的方式是什么?
with open("file_name", 'r') as input:
for line in input:
#process
这种真的非常慢啊
@Arnie97 确实。不过有点太绕了。有不太长但是系统的资料可以参考吗?
1 ... 34  35  36  37  38  39  40  41  42  43  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1319 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 19:19 · PVG 03:19 · LAX 11:19 · JFK 14:19
♥ Do have faith in what you're doing.