Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 不支持的类型<;(class';pandas.core.frame.DateFrame';gt;in write()_Python 3.x_Pandas_Xlsxwriter - Fatal编程技术网

Python 3.x 不支持的类型<;(class';pandas.core.frame.DateFrame';gt;in write()

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]

我试图用下面的代码将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() 

问题在于
xlsxriter
无法输出整个
DataFrame
对象。您可以执行以下两种操作之一:

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

  • 迭代
    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别担心。