excel文件写入和读取显示难度

时间:2018-04-20 05:38:44

标签: python python-3.x python-2.7 subprocess xlsxwriter

运行代码后我发现了一些问题

import xlsxwriter
import pandas as pd
workbook = xlsxwriter.Workbook('arrays.xlsx')
worksheet = workbook.add_worksheet()
array = [0.222333333333333, 0.048150492835172518, 'a12', 'a13', 'a14']
a=[array]
print('writedata=',a)
row = 0
for col, data in enumerate(a):
workbook.close()

workbook.close()
x = pd.read_excel('arrays.xlsx')
print('readdata=',x)`

写入读取就像数组

[0.222333333333333, 0.048150492835172518, 'a12', 'a13', 'a14']

但在看完这样的节目之后

readdata= Empty DataFrame
Columns: [0.222333333333333, 0.04815049283517252, a12, a13, a14]
Index: []

我如何只得到简单的回答

[0.222333333333333, 0.04815049283517252, a12, a13, a14]

1 个答案:

答案 0 :(得分:0)

这只是浮点数精度的副作用。

Excel使用IEEE 754 Doubles来存储数字。这些数字的精确度是16位数,而您尝试存储的数字,0.048150492835172518,有17位有效数字。

如果将0.048150492835172518插入Excel中的单元格,保存文件,关闭文件,再次打开然后复制出数字,您将看到相同的行为。