172 похожих чатов

Хорошо. Есть цсв логи вебки, источник которых лучше не открывать

и не переделывать. Хочу спарсить его растом. Начитавшись доки, решил сделать через трейт и impl. CSV будет читаться обычным методом read и мапиться в Some(f) через сплит "\r\n", заголовка вверху цсв никогда нет, поэтму через struct и serde сходу не знаю как сделать, если только в tuple пихать, но тогда доступ к полям будет трудным.
Суть в том, что места где по идее может быть null, там стоит тире, но может быть и null. Поэтому лучше обработать все варианты, и получить валидные строки\числа
В общем я придумал как то так
trait ParseData {
fn string_to_i32(&self) -> i32;
fn string_to_valid_string(&self) -> String;
}

impl ParseData for Option<String>{
fn string_to_i32(&self) -> i32 {
match self {
Some(str) => {
match str.parse() {
Ok(n) => { n }
_ => {
-1
}
}
}
None => { -1 }
}
}

fn string_to_valid_string(&self) -> String {
match self {
Some(str) => {
if str == "-" {
"-1".to_string()
}
else {
str.to_string()
}
}
None => { "-1".to_string() }
}
}
}

Насколько это адекватно ?)

5 ответов

11 просмотров

ты хочешь свой csv reader написать?) А чем готовые не устраивают?

༒- Автор вопроса
Alex
ты хочешь свой csv reader написать?) А чем готовые...

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

༒- Автор вопроса
Alex
ты хочешь свой csv reader написать?) А чем готовые...

к примеру, None serde обработает, а как с "-" ? а ну или можно заменить через .replace на None, но это тоже наркомания наверное


я описал все проблемы которые у меня есть, и почем...

я не увидел в твоём описание какие проблемы есть у стандартных пакетов чтения csv для твоего случая. Если ты про использование структур с csv без заголовка, то оно без проблем работает, просто по порядку объявления полей.

༒- Автор вопроса
Alex
я не увидел в твоём описание какие проблемы есть у...

а как быть с тире в строковом поле и числовом, чтобы на мое значение поменять ? в целом я понял, что да, возможно про csv я не дочитал) про отсутствие заголовка не увидел сначала

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта