Python-熊猫-将数据帧写入CSV

Python-熊猫-将数据帧写入CSV,python,csv,pandas,dataframe,Python,Csv,Pandas,Dataframe,我正在尝试使用pandas将一个4表、3列和50行的数据帧文件写入csv。我收到以下错误AttributeError:“dict”对象没有“to\u csv”属性。我相信我写的语法是正确的,但是有人能指出我在尝试将数据帧写入csv时语法的错误之处吗 'dict' object has no attribute 'to_csv' import pandas as pd import numpy as np df = pd.read_excel("filelocation.xlsx",

我正在尝试使用pandas将一个4表、3列和50行的数据帧文件写入csv。我收到以下错误
AttributeError:“dict”对象没有“to\u csv”属性
。我相信我写的语法是正确的,但是有人能指出我在尝试将数据帧写入csv时语法的错误之处吗

'dict' object has no attribute 'to_csv'

import pandas as pd
import numpy as np

df = pd.read_excel("filelocation.xlsx",
    sheetname=['pnl1 Data ','pnl2 Data','pnl3 Data','pnl4 Data'],
    skiprows=8, parse_cols="B:D", keep_default_na='FALSE', na_values=['NULL'])

df.to_csv('filelocation.csv', line_terminator=',', index=False, header=False) #error occurs on this line

你的直觉是正确的;代码中的语法没有问题

您收到的是
AttributeError
,因为您正在从工作簿中的多个工作表中读取数据,生成一个数据帧字典(而不是一个数据帧),您试图从该字典
获取csv
(此方法仅适用于数据帧)

在编写代码时,生成的字典的键与工作表的名称相对应,值是相应的数据帧。这些都在文档中对该方法进行了解释

要编写包含所有工作表中的聚合数据的csv文件,可以在工作表中循环并将每个数据框附加到文件中(如果工作表具有相同的结构和尺寸,则此操作有效):


当您阅读包含多个工作表的xlsx时,您会得到一个数据帧的dict,其中键作为工作表名,数据作为数据帧。您需要将其转换为单个数据帧(concat,或根据您的需求合并),或在dict的循环中写入CSV。您知道我可以使用什么语法来调用sheetname键吗?
import pandas as pd
import numpy as np

sheets = ['pnl1 Data ','pnl2 Data','pnl3 Data','pnl4 Data']

for sheet in sheets:
    df = pd.read_excel("filelocation.xlsx",
        sheetname=sheet,
        skiprows=8, 
        parse_cols="B:D", 
        keep_default_na='FALSE', 
        na_values=['NULL'])

    with open('filelocation.csv', 'a') as f:
        df.to_csv(f, line_terminator=',', index=False, header=False)