При чтении столбца из Excel с использованием openpyxl теряется точность - PullRequest
1 голос
/ 02 августа 2020

Я читаю содержимое, хранящееся в книге Excel, используя load_workbook из openpyxl. Ниже приведен код:

wb = load_workbook(filename=xlsx_file, read_only=True, data_only=True )
ws = wb.get_sheet_by_name(name=sheet)
data = ws.values
columns = next(data)[0:]
df = pd.DataFrame(data, columns=columns)

У меня есть столбец с именем t в excel

введите описание изображения здесь

Когда я печатаю список (df ['t']), я получаю

[0.0, 0.6, 1.2, 1.7999999999999998, 2.4, 3.0, 3.5999999999999996, 4.2, 4.8, 5.3999999999999995].

Я хотел бы знать, как избежать потери точности. Та же проблема возникает, когда я использую

df = pd.read_excel(open(xlsx_file, 'rb'), sheet_name=sheet, index=False)

1 Ответ

1 голос
/ 02 августа 2020

Вам просто нужно указать количество цифр после десятичной точки:

df['t'] = df['t'].map('{:,.1f}'.format)
...