gpt4 book ai didi

python - 如何在 python 中打开格式为 [[skill1, skill, skill3, ...], [skill 1, skill 4, skill 6, ...], ...] 的大文本文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:28 26 4
gpt4 key购买 nike

如何打开一个大格式的文本文件

[[skill1, skill2, skill3, ...], [skill1, skill4, skill6, ...], ….]

在 Python 中。我尝试过使用 Pandas 和 numpy,但 read_csv 方法或其他此类方法不起作用。

更新:我能够使用以下代码行读取 .txt 文件:

f = open("demofile.txt", "r")
print(f.read(5))

最佳答案

由于您没有明确提到该文件包含任何换行符,因此我将使用以下方法。编写一些自定义 Python 代码到

  • 加载文件
  • 搜索并替换“], [”为“\n”
  • 搜索并将“[”替换为“”。
  • 将此文件保存在磁盘上并将其加载为 CSV 文件,以“,”作为分隔符。

对于大文件,我可能会使用 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 以这种方式处理文件。

关于python - 如何在 python 中打开格式为 [[skill1, skill, skill3, ...], [skill 1, skill 4, skill 6, ...], ...] 的大文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59325991/

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