С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 04.05.2015
Сообщений: 60

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

14.08.2020, 12:40. Показов 2008. Ответов 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 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
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru