Python - 读取 msgpack 文件并将其存储到数据框
Python - Read msgpack file and store it to the Data Frame
def df_to_msgpack(df, filename):
df.to_msgpack(filename, default=decimal_default)
上面的函数将DF存储到messagepack文件中。现在,我想读取文件并将其存储在 DF 中以供进一步计算。怎么做到的?
with open(filename, 'rb') as data_file:
data_loaded = msgpack.unpackb(data_file.read())
我试过上面的解决方案,但没有用。
msgpack_read(filename)
解决方案也只读取文件。有什么解决办法吗?
您可以使用 pandas.read_msgpack
,尽管它仍然是 ver0.23.4
中的 experimental version。
df = pd.read_msgpack(filename)
自从接受 is outdated (link is dead, pandas read_msgpack is removed since v1.0.0) 但在 google 上排名仍然很高,这里是更新的解决方案:
import msgpack
import pandas as pd
with open(filename, "rb") as file:
data_bytes = file.read()
data = msgpack.unpackb(dataBytes)
df = pd.DataFrame(data)
通过路径“文件名”本地化的文件以字节形式读取。字节由消息包解码,结果可以直接转换为pandas数据帧。
注意messagepack加载的数据必须对应pandas data structure或者在转换为dataframe前做相应调整
def df_to_msgpack(df, filename):
df.to_msgpack(filename, default=decimal_default)
上面的函数将DF存储到messagepack文件中。现在,我想读取文件并将其存储在 DF 中以供进一步计算。怎么做到的?
with open(filename, 'rb') as data_file:
data_loaded = msgpack.unpackb(data_file.read())
我试过上面的解决方案,但没有用。
msgpack_read(filename)
解决方案也只读取文件。有什么解决办法吗?
您可以使用 pandas.read_msgpack
,尽管它仍然是 ver0.23.4
中的 experimental version。
df = pd.read_msgpack(filename)
自从接受
import msgpack
import pandas as pd
with open(filename, "rb") as file:
data_bytes = file.read()
data = msgpack.unpackb(dataBytes)
df = pd.DataFrame(data)
通过路径“文件名”本地化的文件以字节形式读取。字节由消息包解码,结果可以直接转换为pandas数据帧。
注意messagepack加载的数据必须对应pandas data structure或者在转换为dataframe前做相应调整