-1
votes

Remplacer l'espace avec l'onglet dans l'intégralité du fichier texte python

J'ai un fichier texte contient des espaces consécutifs, j'ai besoin de les remplacer par un onglets

Ceci fait partie du fichier:

 Entrez la description de l'image ici

C'est comme ça que j'en ai besoin pour être comme:

 Entrez la description de l'image ici

J'ai besoin de le faire en utilisant du code Python ou de tout moyen facile et rapide ^ _ ^


2 commentaires

Notez que cela s'appelle onglet , pas appuyez sur.


Bienvenue sur Overflow de pile . Veuillez être conscient que ce n'est pas un service de rédaction de code. Nous pouvons aider à résoudre des problèmes spécifiques, techniques, pas à des demandes de code ou de conseil non limitées. S'il vous plaît Modifier Votre question pour montrer ce que vous avez essayé jusqu'à présent et quel problème spécifique vous avez besoin d'aide. Voir le Comment demander à page pour savoir comment nous aider à vous aider.


3 Réponses :


0
votes

Si vous utilisez un système d'opération UNIX, vous pouvez utiliser SED:

sed -r 's/[[:space:]]+/\t/g' input > output.txt


1 commentaires

Merci, c'est du travail, mais il remplace tous les espaces avec des onglets ne peut pas traiter d'espaces consécutifs



0
votes

Voici une solution avec python comme demandé:

filepath_in = 'path/to/my/filein.txt'
filepath_out = 'path/to/my/fileout.txt'
with open(filepath_in, 'r') as file_in, open(file_path_out, 'w') as file_out:
    for line in file_in:
        data = line.split()  # splits the content removing spaces and final newline
        line_w_tabs = "\t".join(data) + '\n'
        file_out.write(line_w_tabs)


0 commentaires

0
votes

permet de dire que le fichier d'origine est nommé démo.txt em> et le contenu regarde ci-dessous.

>>> file = "demo.txt"
>>> f = open(file, "r")
>>> data = f.readlines()
>>> col_width = max(len(word) for row in data for word in row.split()) + 2  # padding
>>> for row in data:
...     print "".join(word.ljust(col_width) for word in row.split())
...

id         name       work         address
1          sam        google       USA
2          raman      facebook     Europe


0 commentaires