如何打开一种格式的大文本文件
[[skill1, skill2, skill3, ...], [skill1, skill4, skill6, ...], ….]
在Python中。我尝试使用Pandas和numpy,但read_csv方法或其他此类方法不起作用。
更新:我能够使用以下代码行读取.txt文件:
f = open("demofile.txt", "r")
print(f.read(5))
正如您没有明确提到的那样,该文件包含任何换行符,我将使用以下方法。编写一些自定义Python代码以
对于大文件,我可能会使用SED。以下代码完成了上述工作。它通过逐个字符地读取并检查最后读取的字符是什么来工作。基于多个if,我确定要执行的操作。注意:我只花了几分钟时间,可能会对其进行优化。输入文件不需要换行符,输出将具有换行符。
lastreadchar = ''
with open("data.txt",mode='r') as i, open('out.txt','w') as o:
while True:
x = i.read(1)
if x == '': # end of file has been reached
break
elif x==' ':
pass
elif x==']':
pass
elif x=='[':
if lastreadchar == '[':
# at the beginning of the file, don't do anything
pass
elif lastreadchar == '\n': # a new line
pass
elif lastreadchar == ',': # a new line
pass
elif x==',':
if lastreadchar == ']': # at the beginning of the file
print('\n')
o.write('\n')
else:
print(x, end='')
o.write(x)
else:
print(x, end = '')
o.write(x)
lastreadchar = x
对于很大的文本文件(在数GB范围内),我可能会使用SED这样处理文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句