разбить файл на части

  • Автор темы Автор темы heks
  • Дата начала Дата начала

heks

Client
Регистрация
01.10.2013
Сообщения
1 632
Реакции
501
Баллы
113
Есть файл 2 метра как его можно разбить на небольшие файлы по 100 строк и положить эти файлы в отдельную папку кубиком С
 
Есть файл 2 метра как его можно разбить на небольшие файлы по 100 строк и положить эти файлы в отдельную папку кубиком С
При помощи счетчика (для имен файлов) и подсписков.
 
Есть файл 2 метра как его можно разбить на небольшие файлы по 100 строк и положить эти файлы в отдельную папку кубиком С
Можешь воспользоваться готовым решением, во входных необходимо указать папку с текстовыми файлами и количество строк, которое будет в каждом файле на выходе. Шаблон обрабатывает все текстовые файлы в папке.
 

Вложения

  • Спасибо
Реакции: udder, Brinkman и heks
Можешь воспользоваться готовым решением, во входных необходимо указать папку с текстовыми файлами и количество строк, которое будет в каждом файле на выходе. Шаблон обрабатывает все текстовые файлы в папке.
Спасибо
 
  • Спасибо
Реакции: RoyalBank
Можешь воспользоваться готовым решением, во входных необходимо указать папку с текстовыми файлами и количество строк, которое будет в каждом файле на выходе. Шаблон обрабатывает все текстовые файлы в папке.
При попытки открыть, пишет
88535
 
При попытки открыть, пишет

Там колхозная реализация, не нужно на это смотреть :-)

Вот нормальное решение:

C#:
Развернуть Свернуть Копировать
public static List<List<T>> ChunkBy<T>(this IEnumerable<T> source, int size)
{
    return source
        .Select((x, i) => new { Index = i, Value = x })
        .GroupBy(x => x.Index / size)
        .Select(x => x.Select(v => v.Value).ToList())
        .ToList();
}
 
  • Спасибо
Реакции: udder
Там колхозная реализация, не нужно на это смотреть :-)

Вот нормальное решение:

C#:
Развернуть Свернуть Копировать
public static List<List<T>> ChunkBy<T>(this IEnumerable<T> source, int size)
{
    return source
        .Select((x, i) => new { Index = i, Value = x })
        .GroupBy(x => x.Index / size)
        .Select(x => x.Select(v => v.Value).ToList())
        .ToList();
}
Как здесь указать имя списка который в зенно?
 
Код выше добавляешь в Using.

C#:
Развернуть Свернуть Копировать
public static class ListExtensions
{
    public static List<List<T>> ChunkBy<T>(this IEnumerable<T> source, int size)
    {
        return source
            .Select((x, i) => new { Index = i, Value = x })
            .GroupBy(x => x.Index / size)
            .Select(x => x.Select(v => v.Value).ToList())
            .ToList();
    }
}

Этот код можно использовать в кубике.

C#:
Развернуть Свернуть Копировать
// Объявляешь Царь список
List<List<string>> lists = new List<List<string>>();

// Передаешь в него свой список, либо большой файл
// Где 50 - это кол-во строк на которое будет поделено.
lists = ListExtensions.ChunkBy(project.Lists["listName"], 50);

// Дальше сохр

foreach (List<string> l in lists)
{
    // тут делаешь что хочешь со своими списками, сохраняешь, отправляешь куда-то и т.д.
    File.WriteAllText();
}
 
  • Спасибо
Реакции: udder

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)