3

我有一个包含一些计算列的 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会进行计算吗?

4

2 回答 2

3

使用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)
于 2019-09-30T07:05:37.200 回答
0
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()
于 2019-09-30T04:12:12.783 回答