如何将 XLSX 读取为 Pandas 数据帧,并将公式作为字符串



我有一个包含一些计算列的 excel 文件。

例如,我在"a"列中有一些数据,"b"列是使用"a"列中的值计算的。

我需要将新数据附加到"A"列并计算"B"列并保存文件。

import pandas as pd
df = pd.DataFrame({'a':[1,2,3],'b':["=a2","=a3","=a4"]})
df.to_excel('test.xlsx',index=False)

当我尝试使用 pandas read excel 读取文件时,它将列"b"读取为 NaN。

df = pd.read_excel(r'test.xlsx')

我如何实现这一点。 可能是如果我可以将文件读取为字符串并将公式附加为字符串。 当我在Excel中打开文件时,Excel会进行计算吗?

使用OpenPyXL 加载 excel 工作表,而不是直接使用 pandas

from openpyxl import load_workbook
import pandas as pd
wb = load_workbook(filename = 'test.xlsx')
sheet_name = wb.get_sheet_names()[0]
ws = wb[sheet_name]
df = pd.DataFrame(ws.values)
import pandas as pd
import xlsxwriter
name = '123.xlsx'
writer = pd.ExcelWriter(name,engine='xlsxwriter')
pd.DataFrame({}).to_excel(writer,sheet_name='Sheet1')
workbook = writer.book
worksheet = writer.sheets['Sheet1']
worksheet.write('A1',1)
worksheet.write('A2','=A1')
writer.save()

最新更新