Python - Pandas - 将数据帧写入CSV

时间:2016-03-09 01:00:58

标签: python csv pandas dataframe

我正在尝试使用pandas将4个表,3列和50行数据帧文件写入csv。我收到以下错误AttributeError: 'dict' object has no attribute 'to_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

1 个答案:

答案 0 :(得分:3)

你的直觉是正确的;代码中的语法没有错。

您收到AttributeError,因为您正在从工作簿中的多个工作表中读取数据,生成DataFrames的词典(而不是一个DataFrame),您可以从中尝试{{1} (仅适用于DataFrame的方法)。

在编写代码时,您生成的字典的键对应于工作表的名称,值是相应的DataFrame。这些都在read_excel()方法的文档中进行了解释。

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

to_csv