Enregistrez la version extraite de la première colonne de chaque ligne uniquement sous col1.txt et la version extraite de la deuxième colonne uniquement sous col2.txt. Utilisez la commande cut pour confirmation.
Go
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
//Spécifiez le fichier lu
name := "../hightemp.txt"
w1name := "col1.txt"
w2name := "col2.txt"
//Ouvrez le fichier à lire
f, err := os.Open(name)
if err != nil {
fmt.Printf("os.Open: %#v\n",err)
return
}
defer f.Close() //Pli à la fin
//Créer un fichier de sauvegarde pour la première colonne
w1, err := os.Create(w1name)
if err != nil {
fmt.Printf("os.Open: %#v\n",err)
return
}
defer w1.Close() //Pli à la fin
//Créer un fichier de sauvegarde de deuxième colonne
w2, err := os.Create(w2name)
if err != nil {
fmt.Printf("os.Open: %#v\n",err)
return
}
defer w2.Close() //Pli à la fin
//Créer une bibliothèque de scanners
scanner := bufio.NewScanner(f)
//Lire une ligne de données
for scanner.Scan() {
//Fractionner par TAB
clm := strings.Split(scanner.Text(),"\t")
w1.WriteString(clm[0] + "\n")
w2.WriteString(clm[1] + "\n")
}
//Vérifiez s'il y a eu une erreur
if err = scanner.Err(); err != nil {
fmt.Printf("scanner.Err: %#v\n",err)
return
}
}
python
#Ouvrez le fichier à lire
with open("../hightemp.txt", "r") as r:
#Ouvrez le premier fichier d'exportation
with open("col1.txt", "w") as w1:
#Ouvrez le deuxième fichier d'exportation
with open("col2.txt", "w") as w2:
#Lire ligne par ligne
for data in r:
#Organiser TAB avec des délimiteurs
col = data.strip().split("\t")
#1 élément col1.Exporter vers txt
w1.writelines(col[0] + "\n")
#2 éléments col2.Exporter vers txt
w2.writelines(col[1] + "\n")
Javascript
//Module de charge
var fs = require("fs");
var col1 = [];
var col2 = [];
//Lire le fichier texte
var col = fs.readFileSync("../hightemp.txt", 'utf-8');
//Chaîne de caractères fractionnée avec saut de ligne
var data = col.split('\n');
//Boucle de comptage de lignes
data.forEach(function( value ) {
//Diviser les éléments par TAB
val = value.split('\t')
//Transférer les données vers chaque baie
col1.push(val[0]);
col2.push(val[1]);
});
// col1.txt , col2.Texte de sortie concaténé avec des sauts de ligne en txt
fs.writeFileSync("col1.txt",col1.join('\n'));
fs.writeFileSync("col2.txt",col2.join('\n'));
Le traitement Close de Go et Python est soigné et bon. Indentation Python plus profonde.
Javascript est passé au traitement synchrone. Asynchrone attend quelque part? Tout cela est écrit dans le traitement du tampon.
La source ne s'actualise pas lors du traitement de 3 fichiers.