Прежде чем изменять CSV (через VBA), попробуйте передать аргумент параметру encoding
pandas.read_csv()
.
Насколько я понимаю, encoding
по умолчанию соответствует настройкам вашей системы (что можетбыть 'cp1252'
, если ваши региональные настройки - это какой-то вариант английского языка.
Чтобы переопределить это неявное поведение, вы можете попробовать передать encoding='utf-8'
(или вместо этого может потребоваться encoding='utf-8-bom'
), что должно затем разрешить pandas
для декодирования / работы с символами Unicode.
Допустим, вы импортировали pandas
в пространство имен pd
и ваш файл находится на C:\some_folder\ok.csv
(в Windows):
import pandas as pd
df = pd.read_csv('C:\\some_folder\\ok.csv', encoding='utf-8')
print(df.head())
На мой взгляд, стоит попробовать, так как это может быть быстрое исправление.
(Другой вариант может заключаться в том, чтобы импортировать некоторую библиотеку Python, которая может попытаться определить кодировку файла, а затем использовать эту конкретную кодировку, но это очевиднобольше работы.
Кроме того, вы можете потерять информацию / байты при принудительном принудительном приведении Unicode к ASCII, в зависимости от того, есть ли какие-либо не-ASCII символы.)