O Sublime está travando devido a um enorme arquivo csv ao editar conteúdo usando regex

1

Eu tenho quase 1GB de arquivo csv e preciso editar esse arquivo usando regex e tenho que encontrar e substituir o sublime por regex \=\\" para localizar e =' para substituir.

Eu posso fazer isso por citar o arquivo csv, mas isso é um processo demorado. Se alguém tiver a ideia de fazer isso usando sublime ou VIM ou qualquer outra maneira, isso será uma ajuda para mim. Agradecemos antecipadamente.

    
por Mukunda Bhatta 23.01.2018 / 15:34

1 resposta

2

Ok, eu tenho uma solução para isso usando python code, que funciona com sucesso para mim.

# import the modules that we need. (re is for regex)
import os, re

# set the working directory for a shortcut
os.chdir('/home/Desktop/python')

# open the source file and read it
fh = file('file.csv', 'r')
thetext = fh.read()
fh.close()

# create the pattern object. Note the "r". In case you're unfamiliar 
with Python
# this is to set the string as raw so we don't have to escape our 
escape characters

#match all the character you want to replace like below
p1 = re.compile(r'\=\\"')

# do the replace
result = p1.sub("='", result)

# write the file
f_out = file('newfile.csv', 'w')
f_out.write(result)
f_out.close()

e salve-o em yourfilename.py

e para ubuntu user open terminal e vá para o diretório de arquivos e execute o comando como

python ./yourfilename.py

isso substituirá =" para =' . Espero que isso ajude os outros.

    
por 14.02.2018 / 11:36