0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60

Проблемы с кодировкой данных

14.08.2020, 12:40. Показов 2068. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
f = open('test.csv','r')
line = f.readline()
 
while line:
    print(line)
    line = f.readline()
При считывании информации с файла данные отображаются некорректно. Если открыть файл и сохранить его, то все считывается нормально.Подскажите как считать данные в нормальном виде без манипуляций с открытиями.
Вложения
Тип файла: rar test.rar (643 байт, 7 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.08.2020, 12:40
Ответы с готовыми решениями:

Проблемы с кодировкой
Мне нужно, чтобы в "input" водилась любая команда с окончанием "=> log.txt" - То бишь запись результата в файл, но оно записывает очень...

Проблемы с кодировкой
При запуске этого кода в PyCharm получаю вот такие, как называют их "кракозябры": Как звали РЅСЏРЅСЋ Пушкина? 1....

Проблемы с кодировкой у JSON файлов
Заполняю json файл, мне необходимо чтобы в полученном файле был и рус и англ язык. def write_json(person_dict,name): try: ...

20
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
14.08.2020, 12:42
Цитата Сообщение от barabaha789 Посмотреть сообщение
Подскажите как считать данные в нормальном виде без манипуляций с открытиями.
Кэп говорит -указать верную кодировку
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60
14.08.2020, 12:54  [ТС]
Welemir1, подскажите как разобраться. Я уже все кодировки перепробовал, не открывает.

Python
1
2
3
4
5
6
7
8
data = []
 
f = open('test.csv','r',encoding="utf-8")
line = f.readline()
 
while line:
    print(line)
    line = f.readline()
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
14.08.2020, 12:58
barabaha789, сам код упрости и надо знать кодировку то) может винда1251?
Python
1
2
3
 with open('test.csv', encoding='utf-8') as file:
...     for line in file:
...         print(line)
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.08.2020, 12:58
Цитата Сообщение от barabaha789 Посмотреть сообщение
Я уже все кодировки перепробовал
Все это вряд ли.
А вот "windows-1251" скорей всего твоя.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
14.08.2020, 13:03
и почему цсв читаешь просто как файл а не библиотекой CSV?
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60
14.08.2020, 13:09  [ТС]
Garry Galler, пробовал,все равно каракули.

Добавлено через 4 минуты
Welemir1, я уже много всего перепробовал и ничего не выходит. поэтому сюда и пришел. Все равно естьв ариант который я не пробовал, надеюсь поможете.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.08.2020, 13:22
Цитата Сообщение от barabaha789 Посмотреть сообщение
пробовал,все равно каракули.
csv файл прикрепи сюда.
Увидел архив.

Ну, естественно, у тебе будут каракули.
Потому что это не текcтовый csv, а бинарный MS CSV (Excel).
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60
14.08.2020, 13:40  [ТС]
Garry Galler, подскажите где искать решение?

Добавлено через 12 минут
Garry Galler, изначально он был в расширении .dbf, выгруженный из сетевой БД. Я его переименовал в .csv. Подскажите пожалуйста в какую сторону хотя бы копать? Я уже весь мозг сломал как его считать.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.08.2020, 13:41
Цитата Сообщение от barabaha789 Посмотреть сообщение
подскажите где искать решение?
Блин, ну пересохрани файл как нормальный csv через тот же excel, которым ты его сохранял.
Только выбирай не CVS MS-DOS или CVS-Macintosh, а CSV (разделители запятые).
Как разбирать бинарный csv (или тот же dbf) я понятия не имею. Тот же python модуль csv его не берет (или, я не знаю какие там опции нужно добавить).
Поэтому просто переконвертируй его в текстовый csv и читай через csv модуль.
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60
14.08.2020, 13:44  [ТС]
Garry Galler, Этот вариант я уже понял, так я его и вскрывал. Только есть проблема, таких файлов очень большой архив. Данные из них надо загрузить в БД, открывать так сотни файлов не вариант.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.08.2020, 13:47
Цитата Сообщение от barabaha789 Посмотреть сообщение
Только есть проблема, таких файлов очень большой архив
Тогда иди читай спецификацию формата dbf и ищи его читалки.
Я тебе тут ничего подсказать не могу.

Добавлено через 1 минуту
pip install dbf

Добавлено через 32 секунды
https://pypi.org/project/dbf/#description
Документации нет.
1
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60
14.08.2020, 13:48  [ТС]
Garry Galler, спасибо!
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.08.2020, 13:49
Все что есть на pypi по dbf:
https://pypi.org/search/?q=dbf

Добавлено через 1 минуту
Цитата Сообщение от Garry Galler Посмотреть сообщение
Документации нет.
Хотя, нет. Вот нашлась: https://github.com/ethanfurman/dbf/tree/master/dbf
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60
14.08.2020, 13:50  [ТС]
Garry Galler, как понял дело не в формате. Я его в разные форматы переименовывал, толку мало. Не ясно как к нему подобраться. Буду использовать подсказку что он бинарный.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.08.2020, 14:04
Цитата Сообщение от barabaha789 Посмотреть сообщение
Я его в разные форматы переименовывал,
Смена расширения ничего не дает. Формат меняется только переконвертированием.
Но для dbf есть указанные мной Python библиотеки. Просто попробуй читать файл через них.

Добавлено через 41 секунду


Добавлено через 39 секунд
https://en.stackoverflow.com/questions/553058/Есть-ли-в-python-3-5-хоть-какая-то-возможность-читать-dbf-файлы
en заменить на ru
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60
14.08.2020, 14:38  [ТС]
Garry Galler, уже перепробовал кучу вариантов. В голову приходит только вариант автоматизировать процесс открытия файлов и сохранения в .csv для удобного считывания.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,695
Записей в блоге: 29
14.08.2020, 14:47
barabaha789, ну как и сказали выше -изменение расширения не поможет, надо разбираться в дбф, открывать его и писать в нужный формат.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.08.2020, 14:48
Это пробовал?:
Python
1
2
3
4
5
import dbf
table = dbf.Table('test.dbf')
table.open()
for item in table:
    print(item)
0
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60
14.08.2020, 15:31  [ТС]
Garry Galler, да

Добавлено через 29 секунд
Garry Galler, да, тоде мимо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.08.2020, 15:31
Помогаю со студенческими работами здесь

Проблемы с кодировкой
Если отправить сообщение на сервер через телнет, то выходит проблема с кодировкой. Даже не знаю, что могло её вызвать Вот код: ...

Проблемы с кодировкой
Открываю файл вот таким образом x = open("data_test.txt", "r") Cодержимое файла выводится не корректно, как я понял нужно в ручную указать...

Проблемы с кодировкой в HTML файле
Есть HTML страница, написанная на Python: #! C:/Python/python print ('Content-type: text/html\n\n') print ('''<!DOCTYPE...

Проблемы с кодировкой при получении данных из БД
Приветствую. Проблема в следующем: есть БД SQLite3, в ней таблица, которая заполнена значениями на кириллице. Когда я выгружаю эти данные...

Проблемы с кодировкой при выводе данных
Пользуюсь хрюшей и VS 2008 Программа 1 #include <fstream> #include <iostream> #include <string> using namespace std; int main()...


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

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

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru