Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Загрузка и обработка данных из текстового файла большого размера / 25 сообщений из 53, страница 1 из 3
13.07.2015, 10:30
    #39005663
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Имеется csv файл с заранее неопределенным количеством строк и "столбцов". Требуется по определенному алгоритму (пока не известен, но не в этом суть) обработать данные из файла. Например, подсчитать среднеарифметическое всех чисел из файла.
Где лучше хранить данные из файла? В субд как вариант, но тогда придется ставить субд на машину. В памяти - неизвестен заранее размер файла, может и памяти не хватит. Построчное чтение и обработка не подходит. Есть еще варианты?
...
Рейтинг: 0 / 0
13.07.2015, 10:32
    #39005665
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
saxixИмеется csv файл с заранее неопределенным количеством строк и "столбцов". Требуется по определенному алгоритму (пока не известен, но не в этом суть) обработать данные из файла. Например, подсчитать среднеарифметическое всех чисел из файла.
Где лучше хранить данные из файла? В субд как вариант, но тогда придется ставить субд на машину. В памяти - неизвестен заранее размер файла, может и памяти не хватит. Построчное чтение и обработка не подходит. Есть еще варианты?

не нужно засовывать в память весь файл , обрабатывай его построчно.
...
Рейтинг: 0 / 0
13.07.2015, 10:33
    #39005670
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
saxixПострочное чтение и обработка не подходит.


Почему нет?

Есть еще варианты?

Разбить на несколько мелких файлов, каждый их которых поместится в памяти, обработать поочередно
...
Рейтинг: 0 / 0
13.07.2015, 10:42
    #39005678
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
saxixТребуется по определенному алгоритму (пока не известен, но не в этом суть) обработать данные из файла.
Суть именно в этом. Сначала надо определиться "что делать", а потом выбирать "как делать".
saxixВ субд как вариант, но тогда придется ставить субд на машину.
Можно без полноценной СУБД обойтись, взять, например, sqlite или что-то подобное.
...
Рейтинг: 0 / 0
13.07.2015, 11:12
    #39005706
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
pationsaxixИмеется csv файл с заранее неопределенным количеством строк и "столбцов". Требуется по определенному алгоритму (пока не известен, но не в этом суть) обработать данные из файла. Например, подсчитать среднеарифметическое всех чисел из файла.
Где лучше хранить данные из файла? В субд как вариант, но тогда придется ставить субд на машину. В памяти - неизвестен заранее размер файла, может и памяти не хватит. Построчное чтение и обработка не подходит. Есть еще варианты?

не нужно засовывать в память весь файл , обрабатывай его построчно.
Потому что на один файл, возможно, несколько инструкций для обработки, которые нельзя будет выполнять одновременно. Тогда придется файл перебирать построчно несколько раз. Вообще пока нет представления о размере файла и алгоритме обработки, просто присматриваю "технологии"
...
Рейтинг: 0 / 0
13.07.2015, 11:15
    #39005711
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
saxixПотому что на один файл, возможно, несколько инструкций для обработки, которые нельзя будет выполнять одновременно.
это почему нельзя?
один итератор, несколько подписчиков, например
...
Рейтинг: 0 / 0
13.07.2015, 11:19
    #39005713
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
ИзопропилsaxixПотому что на один файл, возможно, несколько инструкций для обработки, которые нельзя будет выполнять одновременно.
это почему нельзя?
один итератор, несколько подписчиков, например
Задача пока стоит невнятная, но типа....сначала подсчитали одно, через пять минут понадобилось другое. И заранее все алгоритмы обработки не известны.
...
Рейтинг: 0 / 0
13.07.2015, 11:24
    #39005723
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
saxixЗадача пока стоит невнятная, но типа....сначала подсчитали одно, через пять минут понадобилось другое. И заранее все алгоритмы обработки не известны.
Значит либо в память inmemory db ну либо свои структуры, либо локальная [no]sql базенка...
чтоб каждый раз не умирать на чтении и парсинге...
...
Рейтинг: 0 / 0
13.07.2015, 11:31
    #39005732
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
saxix,

...да хоть в DBF - старо как мир, но драйвера ADODB в любой винде присутствуют ...
...
Рейтинг: 0 / 0
13.07.2015, 11:32
    #39005735
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
buserлибо локальная [no]sql базенка...
мне сдаётся, что лучше SQL , ибо запросы предполагаются случайные
...
Рейтинг: 0 / 0
13.07.2015, 11:33
    #39005738
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
carrotik...да хоть в DBF - старо как мир, но драйвера ADODB в любой винде присутствуют ...
только этого геморроя не хватает
...
Рейтинг: 0 / 0
13.07.2015, 11:34
    #39005741
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Изопропилcarrotik...да хоть в DBF - старо как мир, но драйвера ADODB в любой винде присутствуют ...
только этого геморроя не хватает

...автор не хотел ставить даже Express версии SQL/Firebird, если я правильно понял ....
...
Рейтинг: 0 / 0
13.07.2015, 11:36
    #39005746
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
carrotik...автор не хотел ставить даже Express версии SQL/Firebird, если я правильно понял ....
правильно. embedded СУБД применить нужно
...
Рейтинг: 0 / 0
13.07.2015, 11:37
    #39005747
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Счас смотрю в сторону sqlLite
...
Рейтинг: 0 / 0
13.07.2015, 11:38
    #39005749
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
carrotikИзопропилпропущено...

только этого геморроя не хватает

...автор не хотел ставить даже Express версии SQL/Firebird, если я правильно понял ....
Да мне то все равно, но по требованиям - как можно меньше телодвижений для админов
...
Рейтинг: 0 / 0
13.07.2015, 12:00
    #39005771
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Изопропилcarrotik...автор не хотел ставить даже Express версии SQL/Firebird, если я правильно понял ....
правильно. embedded СУБД применить нужно

у firebird есть embedded
...
Рейтинг: 0 / 0
13.07.2015, 15:39
    #39006065
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
saxixИмеется csv файл с заранее неопределенным количеством строк и "столбцов". Требуется по определенному алгоритму (пока не известен, но не в этом суть) обработать данные из файла. Например, подсчитать среднеарифметическое всех чисел из файла.
Где лучше хранить данные из файла? В субд как вариант, но тогда придется ставить субд на машину. В памяти - неизвестен заранее размер файла, может и памяти не хватит. Построчное чтение и обработка не подходит. Есть еще варианты?

Если есть файл, и он может быть такого размера, что в оперативку не влазит, то можно MemoryMappedFiles использовать.

Если же с этим файлом предполагается интенсивная разнообразная работа, то проще загрузить в любую СУБД и оперировать SQL-запросами
...
Рейтинг: 0 / 0
13.07.2015, 15:53
    #39006085
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
OLEDB вполне себе нормально с CSV работает
...
Рейтинг: 0 / 0
13.07.2015, 15:54
    #39006088
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Попробовал sqlLite и грузить данные через insert into....скорость около 1000 записей в минуту (((
...
Рейтинг: 0 / 0
13.07.2015, 15:54
    #39006090
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Arm79Если же с этим файлом предполагается интенсивная разнообразная работа, то проще загрузить в любую СУБД и оперировать SQL-запросами
+1

BCP-загрузка шустро работает
...
Рейтинг: 0 / 0
13.07.2015, 15:55
    #39006092
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Cat2OLEDB вполне себе нормально с CSV работает
с каим провайдером?

ЗЫ
какое ещё извращение будет предложено?
...
Рейтинг: 0 / 0
13.07.2015, 15:59
    #39006095
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
saxixПопробовал sqlLite и грузить данные через insert into....скорость около 1000 записей в минуту (((

bulk insert - bcp !!!
...
Рейтинг: 0 / 0
13.07.2015, 16:01
    #39006097
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Cat2saxixПопробовал sqlLite и грузить данные через insert into....скорость около 1000 записей в минуту (((

bulk insert - bcp !!!
Это в MS SQL
...
Рейтинг: 0 / 0
13.07.2015, 16:03
    #39006104
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
Cat2saxixПопробовал sqlLite и грузить данные через insert into....скорость около 1000 записей в минуту (((

bulk insert - bcp !!!
авторCSV Import

Use the ".import" command to import CSV (comma separated value) data into an SQLite table. The ".import" command takes two arguments which are the name of the disk file from which CSV data is to be read and the name of the SQLite table into which the CSV data is to be inserted.

Note that it is important to set the "mode" to "csv" before running the ".import" command. This is necessary to prevent the command-line shell from trying to interpret the input file text as some other format.

sqlite> .mode csv
sqlite> .import C:/work/somedata.csv tab1
There are two cases to consider: (1) Table "tab1" does not previously exist and (2) table "tab1" does already exist.

In the first case, when the table does not previously exist, the table is automatically created and the content of the first row of the input CSV file is used to determine the name of all the columns in the table. In other words, if the table does not previously exist, the first row of the CSV file is interpreted to be column names and the actual data starts on the second row of the CSV file.

For the second case, when the table already exists, every row of the CSV file, including the first row, is assumed to be actual content. If the CSV file contains an initial row of column labels, that row will be read as data and inserted into the table. To avoid this, make sure that table does not previously exist.
...
Рейтинг: 0 / 0
13.07.2015, 16:09
    #39006112
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка и обработка данных из текстового файла большого размера
ИзопропилCat2OLEDB вполне себе нормально с CSV работает
с каим провайдером?

ЗЫ
какое ещё извращение будет предложено?
Тьфу. ODBC

Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin

https://msdn.microsoft.com/ru-ru/library/vstudio/ms254500(v=vs.100).aspx
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Загрузка и обработка данных из текстового файла большого размера / 25 сообщений из 53, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]