как читать xlsx как панду dataframe с формулами в виде строк - PullRequest
2 голосов
/ 30 сентября 2019

У меня есть файл 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 выполнит вычисления?

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

Используйте OpenPyXL для загрузки листа Excel вместо непосредственного использования пандами

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)
0 голосов
/ 30 сентября 2019
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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...