Software de hoja de cálculo que puede manejar miles de columnas

Microsoft Excel tiene un número máximo de columnas de 16,384
Open/Libre Office Calc tiene un número máximo de columnas de 1,024
Puede encontrar un resumen de los límites para varios softwares de hoja de cálculo aquí

Tengo archivos CSV de 500 KB. Actualmente, mis archivos tienen 1200 columnas (así que trabaje en Excel pero no en Calc). Pronto estaré trabajando con archivos más grandes que tendrán 96,000 columnas (así que no funcionará en ninguno).

Transponer mi CSV es sorprendentemente difícil de hacer. Ni Excel ni Calc admiten la opción "Abrir y transponer". (Es decir, abra el archivo, convirtiendo columnas en filas). Esa sería una solución alternativa decente.

  • Debe poder abrir archivos CSV
  • Debe admitir (directa o indirectamente) la apertura de archivos con más de 96 000 columnas
  • Debe tener características de trazado
  • Podría ser Windows o Linux
  • Lo ideal sería que fuera gratis, pero eso no es un requisito.

Mi mejor plan actual es usar Python Pandas o Matlab para hacer mi trazado. Lo que funciona para mí, es lo que habría hecho de todos modos, pero no siempre funciona para mis colaboradores.

con el reemplazo simple de expresiones regulares, puede usar notepad ++ o cualquier programa similar para reemplazar su separador CSV por una nueva línea que transpondrá fácilmente sus columnas a una sola fila.
Franck: pero entonces está en una sola fila. esto destruye toda la información. (De hecho, acabo de hacer un script de matlab para abrir la transposición y escribir de nuevo)
@Oxinabox Básicamente, tiene un archivo CSV compuesto por 1 fila y x número de campos, donde x es muy grande (digamos 100000). Podría transponer ese archivo, lo que significa crear un nuevo archivo CSV hecho de x filas y 1 campo por fila. Una vez que tenga ese archivo, puede usar Excel, etc. para hacer el trazado. ¿Es eso correcto? ¿Sería eso suficiente para ti?
@mguassa eso es lo que hice. Ver mi comentario el 30 de enero a las 22:15. Solo que no es una fila, son docenas o cientos de filas.

Respuestas (1)

Siempre puede consultar Pyspread , que informa que, si bien los tamaños de fila y columna dependen del tamaño de la memoria, etc., según las preguntas frecuentes: para el tamaño estándar en las plataformas GTK, se pueden mostrar 80 000 000 filas. - Espero que haya disponibles tamaños similares en las columnas - como prueba para su caso de uso, cambié el tamaño de la cuadrícula a 100,000x100,000 sin problemas .

  • Precio: Gratis
  • Plataforma: Win/OSX/Linux/Portátil
  • Características: cada celda puede ser un objeto de python, por lo que muchas
  • Gráficos: puede incrustar gráficos de matplotlib.
  • Abrir archivos CSV: la biblioteca python csv es compatible, así que sí.

1001x1000001 Hoja

Por supuesto, si está satisfecho con python, simplemente puede procesar sin conexión para transponer el archivo csv como en el script de cuatro líneas de aquí :

import csv
from itertools import izip
a = izip(*csv.reader(open("input.csv", "rb")))
csv.writer(open("output.csv", "wb")).writerows(a)

Simplemente modifíquelo a algo como:

import sys
import os
import csv
from itertools import izip

def traspose(fname):
    """ Transpose a csv file"""
    a = izip(*csv.reader(open(fname, "rb")))
    csv.writer(open(fname+'T', "wb")).writerows(a)

for fname in sys.argv[1:]:
    transpose(fname)
Su expectativa sobre el recuento de columnas ~=El recuento de filas no coincide con la mayoría de los programas de hojas de cálculo (consulte los enlaces en cuestión)
@Oxinabox: pyspread no es la mayoría de los programas de hojas de cálculo. Pude especificar un tamaño de 1,000,001 columnas por 1001 filas sin problemas y pude crear una cuadrícula de 100000x100000 sin problemas.
Impresionante, deberías agregar eso a tu respuesta.
En pyspread, el límite de columnas con tamaño de columna estándar está entre 20000000 y 30000000 columnas en Debian inestable (32 bits), es decir, con 30000000 columnas, falta la barra de desplazamiento y la cuadrícula se comporta mal.