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

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

14.08.2020, 12:40. Показов 2048. Ответов 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
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 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
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 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
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 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
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru