我想从Python xlWings Range对象生成一个json文件:
import pandas as pd
import numpy as np
import os
import xlwings as xw
wb=xw.Book(file)
ws=wb.sheets[0]
dr=ws.used_range.options(pd.DataFrame)
df=pd.DataFrame(data=dr)
jfile=df.to_json(orient='columns')
在这一点上,程序处于无限循环中:df=pd. Dataframe (数据=dr)
1条答案
按热度按时间hwamh0ep1#
如果在
dr=
行的末尾使用.value
,则将dr
设置为DataFrame,并且不需要使用df=pd.DataFrame(data=dr)
行ws.used_range.options(pd.DataFrame)
返回一个range对象,因此您不太可能尝试将其转换为DataFrame。这是我的测试数据的输出,其中使用的range是A1:D11:如果使用
ws.used_range.options(pd.DataFrame).value
,则返回的数据类型为pd.DataFrame,然后可以转换为json:请参阅此处的转换器和选项文档,其中包含一个使用
.value
的示例。返回类型: