我有一个从 JSON 输出创建的数据框,如下所示:
Total Revenue Average Revenue Purchase count Rate
Date
Monday 1,304.40 CA$ 20.07 CA$ 2,345 1.54 %
Run Code Online (Sandbox Code Playgroud)
存储的值作为字符串从 JSON 接收。我在尝试着:
1) 删除条目中的所有字符(例如:CA$ 或 %) 2) 将 rate 和收入列转换为浮点数 3) 将 count 列转换为 int
我尝试执行以下操作:
df[column] = (df[column].str.split()).apply(lambda x: float(x[0]))
Run Code Online (Sandbox Code Playgroud)
它工作正常,除非我有一个昏迷的值(例如:1,465 不起作用而 143 会)。
我尝试使用几个函数来替换“,”为“”等。到目前为止没有任何效果。我总是收到以下错误:
ValueError:无法将字符串转换为浮点数:'1,304.40'
所以我过去一直在使用XLSXWriter导出一个excel文件,其中包含一个填充了两个pandas数据帧的选项卡.在过去,我只是将文件导出到用户计算机上的本地路径,但我正在转换到Web界面.
我想要的输出是拥有与下面代码相同的excel文件,但是在内存中创建并发送给用户以供他/她通过Web界面下载.我一直在看很多Django和StringIO,但我正在寻找可以与Flask一起工作的东西,我找不到任何实际工作的东西.
有人熟悉这个问题吗?
提前致谢!
xlsx_path = "C:\test.xlsx"
writer = pd.ExcelWriter(xlsx_path, engine='xlsxwriter')
df_1.to_excel(writer,startrow = 0, merge_cells = False, sheet_name = "Sheet_1")
df_2.to_excel(writer,startrow = len(df_1) + 4, merge_cells = False , sheet_name = "Sheet_1")
workbook = writer.book
worksheet = writer.sheets["Sheet_1"]
format = workbook.add_format()
format.set_bg_color('#eeeeee')
worksheet.set_column(0,9,28)
writer.close()
Run Code Online (Sandbox Code Playgroud)