J'ai écrit du code qui fonctionne bien sur une machine Linux mais ne fonctionne pas sous Windows.Python subprocess.check_output converger vers windows
import subprocess
import pandas as pd
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
def zgrep_data(f, string='', index='TIMESTAMP'):
if string == '':
out = subprocess.check_output(['zgrep', string, f])
grep_data = StringIO(out)
data= pd.read_csv(grep_data, sep=',', header=0)
else:
col_out = subprocess.check_output(['zgrep', index, f])
col_data = StringIO(col_out)
columns = list(pd.read_csv(col_data, sep=','))
out = subprocess.check_output(['zgrep', string, f])
grep_data = StringIO(out)
data= pd.read_csv(grep_data, sep=',',names=columns, header=None)
return data.set_index(index).reset_index()
Je reçois une erreur: FileNotFoundError: [WinError 2] Le système ne peut pas trouver le fichier spécifié
Quand je vérifierai avec os.path.exists (FILE_PATH), il retourne vrai . Tout conseil sur la façon de modifier ce code pour qu'il fonctionne à la fois sur Python 2 & 3 plus Windows et Linux serait apprécié.
'zgrep' n'est pas dans votre chemin. ce n'est pas une commande Windows standard, donc vous devez trouver une version de Windows et l'installer ... C'est la seule explication à l'erreur. Quel fichier vérifiez-vous? Qu'est-ce que 'file_path'? –
Le fichier se trouve sur mon lecteur c. C: /Users/Chris/Documents/massivefile.csv –
Donc filepath serait f dans la fonction –