Самый маленький язык кривой обучения для работы с файлами CSV

VBA не сокращает его для меня больше. У меня есть много огромных файлов Excel, в которые я должен сделать много из вычислений и разломать их на другой Excel/файлы CSV.

Мне нужен язык, который я могу взять в течение следующих нескольких дней, чтобы сделать то, в чем я нуждаюсь, потому что это - вид чрезвычайной ситуации. Мне предложили Python, но я хотел бы согласовать с Вами, если существует что-либо еще, что делает файл CSV, обрабатывающий быстро и легко.

17
задан Gaffi 25 July 2012 в 21:38
поделиться

12 ответов

Есть много инструментов для работы, но да, Python, пожалуй, лучший в наши дни. Есть специальный модуль для работы с CSV-файлами. Проверьте официальную документацию .

5
ответ дан 30 November 2019 в 11:08
поделиться

В PHP есть несколько простых в использовании функций csv: http://www.php.net/manual-lookup.php?pattern=csv&lang=en

-1
ответ дан 30 November 2019 в 11:08
поделиться

PowerShell имеет встроенный импорт CSV .

Синтаксис уродлив, как смерть, но он разработан, чтобы быть полезным для администраторов больше, чем для программистов - так что кто знает, он может вам понравиться.

Предполагается, что это будет быстрый язык для поднятия настроения, к лучшему и к худшему.

1
ответ дан 30 November 2019 в 11:08
поделиться

Это может быть не чей-либо популярный язык du-jour, но поскольку файлы CSV ориентированы на строки и разделены на поля, работа с ними - это идеальное приложение для awk . Он был построен для обработки текстовых данных, ориентированных на строки, которые можно разбить на поля.

Большинство других языков, которые собираются рекомендовать, будут гораздо более универсальными, поэтому в них будет гораздо больше, что не обязательно применимо для обработки текстовых данных с строчной ориентацией.

2
ответ дан 30 November 2019 в 11:08
поделиться

Я бы попробовал awk . Если вы используете Windows, вы можете получить awk с помощью утилит cygwin .

2
ответ дан 30 November 2019 в 11:08
поделиться

Вы знаете 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]
            };
  1. .NET: библиотека Linq для CSV .
  2. .NET: чтение CSV с помощью LINQ
  3. Python: чтение файла CSV
3
ответ дан 30 November 2019 в 11:08
поделиться

Python - отличный выбор. Модуль csv упрощает чтение и запись файлов CSV (даже в «идиосинкразической» версии Microsoft), а синтаксис Python - легкий ветерок.

Я бы порекомендовал вместо Perl, если вы только что подошли к нему. Хотя Perl, безусловно, мощный и быстрый, он часто непонятен до непонятности для непосвященных.

14
ответ дан 30 November 2019 в 11:08
поделиться

Вы говорите, что у вас есть « файлы Excel , с которыми мне нужно провести много вычислений и разбить их на другие файлы Excel / csv»), но все ответы пока говорят о Только csv ...

Как уже упоминалось, в Python есть модуль чтения / записи csv. Существуют также сторонние модули xlrd (читает) и xlwt (записывает) модули для файлов XLS. См. руководство на этом сайте .

3
ответ дан 30 November 2019 в 11:08
поделиться

Perl на удивление эффективен для языка сценариев для текста. cpan.org имеет огромное количество модулей для работы с данными CSV. Я также писал и записывал данные в формате XLS с помощью другого модуля Perl. Если вы могли использовать VBA, вы, безусловно, могли бы изучить Perl (основы Perl просты, хотя вам или другим так же легко написать краткий, но загадочный код).

2
ответ дан 30 November 2019 в 11:08
поделиться

Python определенно требует небольшого обучения и хорошо работает с CSV-файлами

5
ответ дан 30 November 2019 в 11:08
поделиться

Какой расчет вам нужно сделать? Может быть 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)
6
ответ дан 30 November 2019 в 11:08
поделиться

Это зависит от того, что вы хотите делать с файлами.

Кривая обучения Python менее крута, чем у R. Однако в R есть множество встроенных функций, которые делают его очень подходящим для простого управления файлами .csv, особенно в статистических целях.

Изменить: Я бы рекомендовал R вместо Python только для этой цели, хотя бы потому, что основные операции (чтение файлов, удаление строк, удаление столбцов и т. Д.) Выполняются в R немного быстрее, чем в Python.

2
ответ дан 30 November 2019 в 11:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: