我有一个包含 119 个工作表的 excel 文件,我想获取数据以绘制多个图形。问题是数值有逗号作为小数点分隔符。我读过,与 read_csv 不同的是,Pandas 中的 read_excel 函数没有这个选项。
我打算从一些选定的工作表中加载特定的列,并使用 for 循环构建合并图。
我看到的替代方法之一(但有点矫枉过正)是将每个工作表转换为特定的 csv 文件并加载它们并使用逗号作为小数点分隔符的选项)。是否有任何替代方法可以让我正确加载数据而不必求助于该替代方法?
谢谢!
答案 0 :(得分:1)
只需修改千位分隔符:
df = pd.read_excel('yourexcel.xlsx', thousands=',')
答案 1 :(得分:1)
与 read_csv()
方法不同,read_excel()
方法不支持 decimal
参数:
但在加载数据集后,您可以使用:
df = pd.read_excel('yourexcel.xlsx')
#loading dataset
cols=#your list of column that you want to convert
df[cols]=df[cols].replace(',','.',regex=True).astype(float)
或
另一种方法是创建一个函数并在 converters
方法中使用 read_excel()
参数:
def typecast_float(value):
try:
return float(value.replace(',', '.'))
except:
return value
#Finally:
df=pd.read_excel("sample.xlsx", converters={'column_name': typecast_float})