【问题标题】:Unsupported type <(class 'pandas.core.frame.DateFrame'> in write()不支持的类型 <(class 'pandas.core.frame.DataFrame'> in write()
【发布时间】:2021-06-02 14:24:34
【问题描述】:

我正在尝试使用以下代码将 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]
text_format = workbook.add_format({ 'align': 'left', 'fg_color': 'blue', 'bold':True})

worksheet.write(7,5,df[col],text_format)
workbook.save() 

【问题讨论】:

  • 什么是pd.Dataframe?不应该是pd.DataFrame吗?请发布实际代码。
  • 这是实际代码
  • 代码存在太多问题,我无法相信这是您正在运行的实际代码。 1)import xlswriter 应该是import xlsxwriter。 2)pd.Dataframe 应该是pd.DataFrame。显然这不是实际的代码。
  • 这些是错字,因为我无法使用公司的计算机在堆栈溢出网站上粘贴任何内容。除了错字,这些是实际代码。问题是 worksheet.write() 没有运行并给我一个错误。我累了想知道为什么。
  • 我修正了你指出的所有错别字。你知道我为什么会出现这个语法错误吗?

标签: python-3.x pandas xlsxwriter


【解决方案1】:

问题是xlsxwriter 不能输出整个DataFrame 对象。您可以执行以下两项操作之一:

  • 使用xlsxwriter 作为excel 编写器并调用df.to_excel() 来创建文件。您将无法实现相同的定位或格式设置,但您可以在之后打开 XLSX 文件并修改格式。

  • 遍历DataFrame 并为每一列数据调用write_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()
    

【讨论】:

  • 非常感谢。在这种情况下,我只希望列标题有蓝色背景,所有值都不应该有颜色背景。我怎么能修改它?
  • 更新了答案以提供不同的标题和数据单元格格式。
  • @user032020L 别担心。
猜你喜欢
  • 2016-12-27
  • 2018-08-20
  • 2016-02-23
  • 2022-11-11
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 2022-08-04
相关资源
最近更新 更多