Как добавить / редактировать текст в pandas .io.parsers.TextFileReader - PullRequest
0 голосов
/ 12 апреля 2020

У меня большой файл в CSV. Поскольку это большой файл (почти 7 ГБ), его нельзя преобразовать в pandas фрейм данных.

import pandas как pd df1 = pd.read_csv ('tblViewPromotionDataVolume_202004070600.csv', sep = ' \ t ', iterator = True, chunksize = 1000) для фрагмента в df1: print (chunk)

df1 имеет тип pandas .io.parsers.TextFileReader

Теперь я хочу отредактируйте / добавьте / вставьте некоторый текст (новую строку) в этот файл и преобразуйте его обратно в pandas фрейм данных. Пожалуйста, дайте мне знать о возможных решениях. Заранее спасибо.

1 Ответ

0 голосов
/ 12 апреля 2020

Здесь DataFrame называется чанк, поэтому для обработки используйте его, последний для записи в файл используйте DataFrame.to_csv с mode='a' для режима добавления:

import pandas as pd 
import os

infile = 'tblViewPromotionDataVolume_202004070600.csv'
outfile = 'out.csv'
df1 = pd.read_csv(infile, sep='\t', iterator=True, chunksize=1000) 
for chunk in df1: 
    print (chunk)
    #processing with chunk

    # https://stackoverflow.com/a/30991707/2901002
    # if file does not exist write header with first chunk
    if not os.path.isfile(outfile):
       chunk.to_csv(, sep='\t')
    else: # else it exists so append without writing the header
       chunk.to_csv('out.csv', sep='\t', mode='a', header=False)
...