Python 3.x 不支持的类型<;(class';pandas.core.frame.DateFrame';gt;in write()
我试图用下面的代码将2列输出到excel工作表,但出现语法错误。如何修复此问题?谢谢Python 3.x 不支持的类型<;(class';pandas.core.frame.DateFrame';gt;in write(),python-3.x,pandas,xlsxwriter,Python 3.x,Pandas,Xlsxwriter,我试图用下面的代码将2列输出到excel工作表,但出现语法错误。如何修复此问题?谢谢 import xlsxwriter import pandas as pd workbook=xlsxwriter.Workbook('file.xlsx') worksheet=workbook.add_worksheet('sheet1') df=pd.DataFrame({'A':[1,2,3],'B':[4,5,6]},columns=['A','B']) col=['A','B'] df[col]
import xlsxwriter
import pandas as pd
workbook=xlsxwriter.Workbook('file.xlsx')
worksheet=workbook.add_worksheet('sheet1')
df=pd.DataFrame({'A':[1,2,3],'B':[4,5,6]},columns=['A','B'])
col=['A','B']
df[col]
text_format = workbook.add_format({ 'align': 'left', 'fg_color': 'blue', 'bold':True})
worksheet.write(7,5,df[col],text_format)
workbook.save()
问题在于
xlsxriter
无法输出整个DataFrame
对象。您可以执行以下两种操作之一:
- 使用
作为excel编写器,并调用xlsxwriter
来创建文件。您将无法实现相同的定位或格式,不过,您可以在以后打开XLSX文件并修改格式df.to_excel()
- 迭代
并为每列数据调用DataFrame
。类似的操作应该可以:write\u column()
import xlsxwriter import pandas as pd workbook = xlsxwriter.Workbook('file.xlsx') worksheet = workbook.add_worksheet('sheet1') df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]}, columns=['A','B']) text_format = workbook.add_format({'align': 'left', 'bold': True}) header_format = workbook.add_format({'align': 'left', 'fg_color': 'blue', 'bold': True}) start_row = 7 start_col = 5 worksheet.write_row(start_row, start_col, df.columns, header_format) for i, column in enumerate(df.columns, start=start_col): worksheet.write_column(start_row+1, i, df[column], text_format) workbook.close()
pd.Dataframe
?不应该是pd.Dataframe
?请发布实际代码。这是实际代码。代码有太多问题,我无法相信这是您正在运行的实际代码。1)import xlswriter
应该是import xlswriter
。2) pd.Dataframe
应该是pd.Dataframe
。很明显,这不是实际的代码。这些是打字错误,因为我无法使用公司的计算机在堆栈溢出网站上粘贴任何内容。除了打字错误,这些是实际的代码。问题是工作表.write()没有运行,并向我抛出了一个错误。我很想知道为什么。我把你指出的所有错误都纠正了。你知道我为什么会有这个语法错误吗?非常感谢。在这种情况下,我只希望列标题有蓝色背景,所有值不应该有彩色背景。我如何修改它?更新的答案提供了不同的标题和数据单元格格式。哇哦。这太聪明了。谢谢lot@user032020L别担心。