Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
rockWell1
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 21
1

Выборка определенных строк из таблицы .csv файла

15.09.2017, 17:09. Просмотров 376. Ответов 13
Метки нет (Все метки)

Скачиваю csv БД с сайта каждые 3-4 минуты,строк более 80к, нужно выбирать нужные строки, пример типа строки id;idd;name;name2; и т.д. , разделитель ";"
C#
1
2
3
4
5
6
            WebClient c2 = new WebClient();
            c2.Encoding = Encoding.UTF8;
            string data2 = c2.DownloadString("https://сайт/файл.csv");
            
            Console.WriteLine(data2);
            Console.ReadKey();
Как сделать выборку нужных строк по критерию(название или еще что)?

Вот так не получается
C#
1
2
3
4
5
6
7
8
            WebClient c2 = new WebClient();
            c2.Encoding = Encoding.UTF8;
            string data2 = c2.DownloadString("https://сайт/файл.csv");
            JObject msg = JObject.Parse(data2);
            string op = msg["название"].ToString();
 
            Console.WriteLine(op);
            Console.ReadKey();
выводит ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2017, 17:09
Ответы с готовыми решениями:

Выборка из файла определенных строк
Форумчане, прошу помощи в решении вопроса: Есть csv файл, состоит из...

Удаление из файла определенных строк
Доброго времени суток, нужна помощь! Задача такова: есть файл, нужно если...

Вывод определенных строк из файла
Здравствуйте, мне очень нужна помощь совсем запуталась и не знаю что делать...

Файл csv, после определенных символов вставлять новые символы
Кто поможет? У меня текстовый файл csv и в ней есть символы. Мне нужно после...

Перебор чисел и выборка определенных
есть 3 комплексных значения Аlfa и 3 значения Beta. Нужно выбрать по одному...

13
FateOri
146 / 145 / 39
Регистрация: 06.01.2017
Сообщений: 1,939
Завершенные тесты: 2
15.09.2017, 17:45 2
Цитата Сообщение от rockWell1 Посмотреть сообщение
строк более 80к, нужно выбирать нужные строки, пример типа строки id;idd;name;name2; и т.д. , разделитель ";"
так вам строки или столбцы нужны?

Цитата Сообщение от rockWell1 Посмотреть сообщение
Вот так не получается
так csv это вам не Json))
0
rockWell1
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 21
15.09.2017, 19:12  [ТС] 3
Цитата Сообщение от FateOri Посмотреть сообщение
так вам строки или столбцы нужны?


так csv это вам не Json))
В общем, искать по столбцу ;название; и если есть совпадение, то чтоб выводило строку с этим названием и все остальную информацию по столбцам. Как то так. Не получается это реализовать, тонну сайтов и форумов перечитал,нигде наглядного примера нет(кода).

ps Скорее всего по строкам, по моему это проще(сугубо мое не опытное мнение)
0
FateOri
146 / 145 / 39
Регистрация: 06.01.2017
Сообщений: 1,939
Завершенные тесты: 2
15.09.2017, 19:16 4
Цитата Сообщение от rockWell1 Посмотреть сообщение
В общем, искать по столбцу ;название; и если есть совпадение, то чтоб выводило строку с этим названием и все остальную информацию по столбцам. Как то так. Не получается это реализовать, тонну сайтов и форумов перечитал,нигде наглядного примера нет(кода).
а чего тут искать то? csv это просто тектовый файлик с каким - то разделителем можно библиотеку поискать а можно самому разбить строки по символу
0
rockWell1
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 21
15.09.2017, 19:58  [ТС] 5
Цитата Сообщение от FateOri Посмотреть сообщение
а чего тут искать то? csv это просто тектовый файлик с каким - то разделителем можно библиотеку поискать а можно самому разбить строки по символу
допустим я разбил строку по символам
C#
1
2
3
4
5
6
string[] words = data2.Split(new char[] { ';' });
 
            foreach (string s in words)
            {
                     Console.WriteLine(s);
            }
Выводит длинный список, как мне отсортировать список по названиям предмета и прилежащей информации из других столбов к это названию предмета?
0
EVG-1980
190 / 197 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
15.09.2017, 20:04 6
rockWell1, что бы тебя понимать нужно выложить 1 строку из файла и объяснить что ты хочешь
0
rockWell1
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 21
15.09.2017, 20:18  [ТС] 7
Цитата Сообщение от EVG-1980 Посмотреть сообщение
rockWell1, что бы тебя понимать нужно выложить 1 строку из файла и объяснить что ты хочешь
вот 4 строки из множества
c_id;c_iid;c_price;c_offers;c_popularity;c_heroid;c_slot;name;c_name_en;c_name_color;c_pop
143815174;143865972;280000;5;1;1051;0;"название1";"name1"; D2D2D2;1481573137;919
186150629;143865972;14500;92;1051;21;0;"название2";"name2"; D2D2D2;1481616710;1109
186150630;143865972;15292;20;197;21;0;"название3";"name3"; D2D2D2;1481620109;1092

Нужно отсортировать по с_name_en, чтоб в итоге,в консоль выводило строки с name2
186150629;143865972;14500;92;1051;21;0;"название2";"name2"; D2D2D2;1481616710;1109
или с name3
186150630;143865972;15292;20;197;21;0;"название3";"name3"; D2D2D2;1481620109;1092
а все остальные строки выбрасывало!
Лучше разъяснить уже не получится(
0
EVG-1980
190 / 197 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
15.09.2017, 20:26 8
Цитата Сообщение от rockWell1 Посмотреть сообщение
Нужно отсортировать по с_name_en
у тебя с_name_en во всех строках одно и тоже D2D2D2 как понять отфильтровать? Сформулируй нормально задачу тут экстрасенсов нет
0
rockWell1
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 21
15.09.2017, 20:37  [ТС] 9
Цитата Сообщение от EVG-1980 Посмотреть сообщение
у тебя с_name_en во всех строках одно и тоже D2D2D2 как понять отфильтровать? Сформулируй нормально задачу тут экстрасенсов нет
Случайно удалил название одного столбца c_price_updated
c_id;c_iid;c_price;c_offers;c_popularity;c_heroid;c_slot;name;c_name_en;c_name_color;c_price_updated;c_pop
143815174;143865972;280000;5;1;1051;0;"название1";"name1"; D2D2D2;1481573137;919
186150629;143865972;14500;92;1051;21;0;"название2";"name2"; D2D2D2;1481616710;1109
186150630;143865972;15292;20;197;21;0;"название3";"name3"; D2D2D2;1481620109;1092

c_name_en везде разное(name1,name2,name3 и т.д.), нужно чтобы находило все c_name_en с одинаковым название (name2,name2,.....,nameN) и полностью выводило строки в консоль, примерно вот так:

143815174;143865972;280000;5;1;1051;0;"название2";"name2"; D2D2D2;1481573137;919
176150629;133865972;14500;92;1051;21;0;"название2";"name2"; D2D2D2;1481616710;1109
186150630;143845972;15292;20;197;22;1;"название2";"name2"; D2D2D2;1481620109;1092
0
EVG-1980
190 / 197 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
15.09.2017, 20:54 10
rockWell1, ну и в чем проблемма?
C#
1
2
3
4
5
6
7
string[] lines = File.ReadAllLines(path);
 
 for    (int i=0; i<lines.Length;i++)
            {
               var temp = lines[i].Split(";");
               if(temp[8]=="name2"  || temp[8]==  .....)  //выводим  lines[i]
            }
0
Diamante
1312 / 1030 / 652
Регистрация: 14.08.2016
Сообщений: 3,578
Завершенные тесты: 1
15.09.2017, 20:56 11
C#
1
2
3
        string[] lines = File.ReadAllLines("");
        foreach(var line in lines)
        if(line.Contains(";""name2"";"))...;
0
rockWell1
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 21
15.09.2017, 21:15  [ТС] 12
Цитата Сообщение от EVG-1980 Посмотреть сообщение
rockWell1, ну и в чем проблемма?
C#
1
2
3
4
5
6
7
string[] lines = File.ReadAllLines(path);
 
 for    (int i=0; i<lines.Length;i++)
            {
               var temp = lines[i].Split(";");
               if(temp[8]=="name2"  || temp[8]==  .....)  //выводим  lines[i]
            }
вот итог, подчеркивает точку с запятой
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
WebClient c2 = new WebClient();
            c2.Encoding = Encoding.UTF8;
            var data2 = c2.DownloadString("https://сайт/файл.csv");
            string[] lines = File.ReadAllLines(data2);
 
            for (int i = 0; i < lines.Length; i++)
            {
                var temp = lines[i].Split(";");//Подчеркивает точку с запятой!!!
                if (temp[8] == "name2")
                {
                    Console.WriteLine();
                }
            }
0
EVG-1980
190 / 197 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
15.09.2017, 21:21 13
Цитата Сообщение от rockWell1 Посмотреть сообщение
//Подчеркивает точку с запятой!!!
ну посмотри что принимает конструктор Split() может там char и тогда ';'
0
rockWell1
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 21
15.09.2017, 21:38  [ТС] 14
Цитата Сообщение от EVG-1980 Посмотреть сообщение
ну посмотри что принимает конструктор Split() может там char и тогда ';'
Спасибо, недосмотрел. Пофиксил одно, вылазят новые ошибки:
C#
1
string[] lines = File.ReadAllLines(data2);//System.ArgumentException: "Путь содержит недопустимые знаки."
0
15.09.2017, 21:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2017, 21:38

Поиск в текстовом файле и выборка определенных данных
Нужно проверить весь файл на наличие нужных строк и тогда со строчек повыбирать...

Вывод в report viewer определенных данных из таблицы
Здравствуйте ...имеется две связные таблицы &quot;разделы&quot; и &quot;сметы&quot;, каждая запись...

Подсчитать количество определенных строк в текстовом файле
Добрый день! помогите плизз...в общем дело такое, необходимо подсчитать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru