gpt4 book ai didi

python - 从文本文件中解析/提取数据。无法使其工作

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:27 24 4
gpt4 key购买 nike

我有一个文件,我正试图从中提取信息,该文件中包含信息,并且采用整齐的逐行格式,信息以逗号分隔。

我想把它放在一个列表中,或者尽我所能从一个特定的索引中提取信息。该文件很大,超过 1000000000 行,我必须在每一行中提取相同的索引才能获得相同的信息。这些是我想要从文件中提取的散列,所以我想知道如何根据长度找到所有出现的散列。

import os

os.chdir('C:\HashFiles')

f = open('Part1.txt','r')

file_contents=f.readlines()

def linesA():

for line in file_contents:
lista = line.split(',')

print linesA()

这就是我到目前为止所拥有的一切,它只是将所有内容都放在一个列表中,我可以从中索引,但是我想将这些索引中的数据输出到另一个文件,但由于 for 语句,我无法做到,怎么办我绕过这个?

哇,你们太棒了,现在我遇到了一个问题,因为在存储此信息的文件中,它以提供信息的赞助商的信息开头,我如何绕过这些行从另一行开始,因为我需要从文件下方大约 100 行开始,以帮助我,因为目前我遇到索引错误并且无法弄清楚如何设置条件来应对它。我试过这个条件但没有工作:if line[:] != 15: continue

最近使用的代码:

导入csv

with open('c:/HashFiles/search_engine_primary.sql') as inf, open('c:/HashFiles/hashes.txt','w') as outf:
for i in xrange(47):
inf.next() # skip a line

for line in inf:
data = line.split(',')
if str(line[0]) == 'GO':
continue
hash = data[15]
outf.write(hash + '\n')

最佳答案

您可以尝试逐行处理文件

 with open('Part1.txt') as inf:
for line in inf:
# do your processing
# ... line.split(',') etc...

而不是使用 readlines()所有数据一次读入内存

另外,取决于你在做什么,list comprehension可能有助于从您正在阅读的文件中创建所需的输出列表。

注意:使用 with 打开文件的好处是,当您完成或遇到异常时,它会自动关闭。 p>

更新:

要跳过输入文件的前 N 行,您可以将代码更改为:

N = 100

with open('Part1.txt') as inf:
for i, line in enumerate(inf, 1):
if i < N: # if line is less than N
continue # skip the processing
print line # process the line

我正在使用 enumerate()自动生成行号。我从 1 开始这个计数器(如果未指定,默认值为 0)。

关于python - 从文本文件中解析/提取数据。无法使其工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11123087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com