VBA не сокращает его для меня больше. У меня есть много огромных файлов Excel, в которые я должен сделать много из вычислений и разломать их на другой Excel/файлы CSV.
Мне нужен язык, который я могу взять в течение следующих нескольких дней, чтобы сделать то, в чем я нуждаюсь, потому что это - вид чрезвычайной ситуации. Мне предложили Python, но я хотел бы согласовать с Вами, если существует что-либо еще, что делает файл CSV, обрабатывающий быстро и легко.
Есть много инструментов для работы, но да, Python, пожалуй, лучший в наши дни. Есть специальный модуль для работы с CSV-файлами. Проверьте официальную документацию .
В PHP есть несколько простых в использовании функций csv: http://www.php.net/manual-lookup.php?pattern=csv&lang=en
PowerShell имеет встроенный импорт CSV .
Синтаксис уродлив, как смерть, но он разработан, чтобы быть полезным для администраторов больше, чем для программистов - так что кто знает, он может вам понравиться.
Предполагается, что это будет быстрый язык для поднятия настроения, к лучшему и к худшему.
Это может быть не чей-либо популярный язык du-jour, но поскольку файлы CSV ориентированы на строки и разделены на поля, работа с ними - это идеальное приложение для awk . Он был построен для обработки текстовых данных, ориентированных на строки, которые можно разбить на поля.
Большинство других языков, которые собираются рекомендовать, будут гораздо более универсальными, поэтому в них будет гораздо больше, что не обязательно применимо для обработки текстовых данных с строчной ориентацией.
Я бы попробовал awk . Если вы используете Windows, вы можете получить awk с помощью утилит cygwin .
Вы знаете VBA? Почему не Visual Basic 2008/2010 или, возможно, C #? Я уверен, что такие языки, как python и ruby, будут относительно проще для работы, но вы уже привыкли к «.NET-способу» работы, поэтому имеет смысл продолжать работать с ними, а не изучать что-то новое. только для этой работы.
Использование C #:
var csvlines = File.ReadAllLines("file.csv");
var query = from csvline in csvlines
let data = csvline.Split(',')
select new
{
ID = data[0],
FirstName = data[1],
LastName = data[2],
Email = data[3]
};
Python - отличный выбор. Модуль csv
упрощает чтение и запись файлов CSV (даже в «идиосинкразической» версии Microsoft), а синтаксис Python - легкий ветерок.
Я бы порекомендовал вместо Perl, если вы только что подошли к нему. Хотя Perl, безусловно, мощный и быстрый, он часто непонятен до непонятности для непосвященных.
Вы говорите, что у вас есть « файлы Excel , с которыми мне нужно провести много вычислений и разбить их на другие файлы Excel / csv»), но все ответы пока говорят о Только csv ...
Как уже упоминалось, в Python есть модуль чтения / записи csv. Существуют также сторонние модули xlrd
(читает) и xlwt
(записывает) модули для файлов XLS. См. руководство на этом сайте .
Perl на удивление эффективен для языка сценариев для текста. cpan.org имеет огромное количество модулей для работы с данными CSV. Я также писал и записывал данные в формате XLS с помощью другого модуля Perl. Если вы могли использовать VBA, вы, безусловно, могли бы изучить Perl (основы Perl просты, хотя вам или другим так же легко написать краткий, но загадочный код).
Python определенно требует небольшого обучения и хорошо работает с CSV-файлами
Какой расчет вам нужно сделать? Может быть R будет альтернативой?
РЕДАКТИРОВАТЬ: просто чтобы дать несколько основных примеров
# Basic usage
data <- read.csv("myfile.csv")
# Pipe-separated values
data <- read.csv("myfile.csv", sep="|")
# File with header (columns will be named as header)
data <- read.csv("myfile.csv", header=TRUE)
# Skip the first 5 lines of the file
data <- read.csv("myfile.csv", skip=5)
# Read only 100 lines
data <- read.csv("myfile.csv", nrows=100)
Это зависит от того, что вы хотите делать с файлами.
Кривая обучения Python менее крута, чем у R. Однако в R есть множество встроенных функций, которые делают его очень подходящим для простого управления файлами .csv, особенно в статистических целях.
Изменить: Я бы рекомендовал R вместо Python только для этой цели, хотя бы потому, что основные операции (чтение файлов, удаление строк, удаление столбцов и т. Д.) Выполняются в R немного быстрее, чем в Python.