如何使用xlsxwriter编写包含UUID的pandas DataFrame?

时间:2016-06-18 11:58:36

标签: pandas xlsxwriter

我正在尝试使用xlsxwriter将DataFrame写入excel。 我收到以下错误:

"TypeError: Unsupported type <class 'uuid.UUID'> in write()"

我可以通过自己将UUID转换为字符串来解决这个问题,但我觉得可以做得更好。 生成错误的代码:

import pandas as pd

# Create a Pandas dataframe from the data.
df = pd.DataFrame({'Data': [UUID('00792bdd42ab487daaef62a57e72e226'), UUID('002ff29fbfaf42239aeabc8ddd4e375b')]})

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')

# Close the Pandas Excel writer and output the Excel file.
writer.save()

我只需将其转换为字符串即可使其正常工作:

df['Data'] = df['Data'].apply(lambda x: str(x))

更糟糕的是,我实际上使用UUID作为索引,因此只需将DataFrame保存到excel就需要很多额外的步骤。

我很乐意探索除xlsxwriter之外的其他库,但xlwt给了我类似的问题。

由于

0 个答案:

没有答案