Я немного новичок, когда дело доходит до Python, но один из моих школьных проектов требует, чтобы я выполнил алгоритмы классификации в этом наборе данных о популярности Reddit. Это огромные файлы .zst, которые можно найти здесь: https://files.pushshift.io/reddit/submissions/ В любом случае, я просто не уверен, как извлечь это из базы данных, так как назначения, которые мы только что использовали, только что использовались. наборы данных CSV, которые я мог бы легко поместить в pandas данных. Я наткнулся на другой пост и попытался использовать код:
def transform_zst_file(self,infile):
zst_num_bytes = 2**22
lines_read = 0
dctx = zstd.ZstdDecompressor()
with dctx.stream_reader(infile) as reader:
previous_line = ""
while True:
chunk = reader.read(zst_num_bytes)
if not chunk:
break
string_data = chunk.decode('utf-8')
lines = string_data.split("\n")
for i, line in enumerate(lines[:-1]):
if i == 0:
line = previous_line + line
self.appendData(line, self.type)
lines_read += 1
if self.max_lines_to_read and lines_read >= self.max_lines_to_read:
return
previous_line = lines[-1]
Но я не совсем уверен, как поместить это в pandas фрейм данных или поместить только определенный процент точек данных в фрейм данных если файл слишком большой. Любая помощь будет принята с благодарностью!
Следующий код только сбивает мой компьютер каждый раз, когда я пытаюсь его запустить:
import zstandard as zstd
your_filename = "..."
with open(your_filename, "rb") as f:
data = f.read()
dctx = zstd.ZstdDecompressor()
decompressed = dctx.decompress(data)
Может быть из-за слишком большого размера файла, В любом случае можно ли извлечь только процент этого файла в pandas фрейм данных?