Holas, utilizando la inteligencia colectiva necesito me colaboren en la
solución a un problema
que a continuación les presento por mediación de una pregunta:

¿Alguien conoce y tiene al alcance de la mano alguna macro en Python,
JavaScript, etc. que me
permita importar un fichero .txt en OpenOffice-Calc con más de 65536 línas o
algún script para
fragmentar en unos 130 ficheros .txt de 65536 líneas cada uno el contenido
de un fichero .txt de
12 millones de líneas con 9 columnas y 140Mb?.

En Excel se plantea esta macro hecha en VisualBasic y que probé, pero al
sobrepasar el primer
millón de líneas importadas el proceso falla "señalando insuficientes
recursos". La PC tiene como
Procesador AMD Athlon 64 X2 5600+ (Dual Core a 2.8 Ghz) y 4GB RAM y he
observado el estado
de los recursos y en pleno proceso utiliza un 50% del procesador y unos
1.2Gb de RAM.


Attribute VB_Name = "Module1"
Option Explicit
   Sub LargeFileImport()

      Dim ResultStr As String, FileName As String, FileNum As Integer,
Counter As Double

      FileName = Application.GetOpenFilename _
            (filefilter:="Archivos de texto (*.txt),*.txt", Title:="Elegir
Archivo")
      If FileName = "" Then End

      FileNum = FreeFile()
      Open FileName For Input As #FileNum

      Application.ScreenUpdating = False
      Workbooks.Add template:=xlWorksheet
      Counter = 1
      Do While Seek(FileNum) <= LOF(FileNum)
          Application.StatusBar = "Importando Fila " & _
             Counter & " of text file " & FileName

          Line Input #FileNum, ResultStr

          If Left(ResultStr, 1) = "=" Then
             ActiveCell.Value = "'" & ResultStr
          Else
             ActiveCell.Value = ResultStr
          End If
          'Para versiones anteriores a Excel 97, cambiar 65536 por 16384
          If ActiveCell.Row = 65536 Then
             ActiveWorkbook.Sheets.Add
          Else
             ActiveCell.Offset(1, 0).Select
          End If
          Counter = Counter + 1
      Loop
      Close
      Application.StatusBar = False
   End Sub
_______________________________________________
Cancelar suscripción
https://listas.softwarelibre.cu/mailman/listinfo/linux-l
Buscar en el archivo
http://listas.softwarelibre.cu/buscar/linux-l

Responder a