[英]pandas: remove all formula from xlsx/xls
我使用腳本將某些單元格中帶有公式的 xls 文件轉換為 xlsx 文件。 問題是具有公式的單元格現在在 xlsx 文件中顯示為“0”。
有沒有辦法擺脫公式而只獲得價值? 尚未在不同的線程中找到解決方案。 我也沒有使用openpyxl的經驗,在這種情況下有很多參考
import os
import re
import pandas as pd
import glob
import time
import xlwt
def setwd():
from pathlib import Path
import os
global home
global save_dir
home = str(Path.home())
os.chdir(home + r'\...\...\Staffing Report\Input\MyScheduling\Raw_Data')
latest = home + r'\...\Staffing Report\Input\MyScheduling\Raw_Data'
folders = next(os.walk(latest))[1]
creation_times = [(folder, os.path.getctime(folder)) for folder in folders]
creation_times.sort(key=lambda x: x[1])
most_recent = creation_times[-1][0]
print('test' + most_recent)
os.chdir(latest + '\\' + most_recent + '\\')
print('current cwd is: ' + os.getcwd())
save_dir = home + '\...\Input\MyScheduling\PBI\\' + 'Individual_Status.xlsx'
return save_dir
def rowdrop():
global df
global fdt
einlesen = os.getcwd()
print('test einlesen: ' + einlesen)
df = pd.read_excel('Individual Status.xls', sheet_name = 'Individual Status Raw Data')
df = df.iloc[6:]
df = df.rename(columns=df.iloc[0]).drop(df.index[0])
fdt = pd.read_excel('Forecast Detail and Totals.xls', sheet_name = 'Forecast',)
fdt = fdt.iloc[0:]
#fdt = fdt.drop(['Code'],axis=1)
os.chdir(home + '\...\Input\MyScheduling\PBI')
print('Current CWD before export is: ' + os.getcwd())
df.to_excel('Individual Status.xlsx', index = False)
fdt.to_excel('Forecast Detail and Totals.xlsx', index = False)
return df
#main
setwd()
rowdrop()
我猜這是因為單元格中實際上沒有任何值,而 Pandas 試圖將其加載到 dataframe 中。 還有另一個線程在談論類似的情況,但處理的是 openpyxl。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.