我正在尝试使用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
答案 0 :(得分:3)
你的直觉是正确的;代码中的语法没有错。
您收到AttributeError
,因为您正在从工作簿中的多个工作表中读取数据,生成DataFrames的词典(而不是一个DataFrame),您可以从中尝试{{1} (仅适用于DataFrame的方法)。
在编写代码时,您生成的字典的键对应于工作表的名称,值是相应的DataFrame。这些都在read_excel()
方法的文档中进行了解释。
要编写包含所有工作表中聚合数据的csv文件,您可以遍历工作表并将每个DataFrame附加到您的文件中(如果您的工作表具有相同的结构和尺寸,则此方法有效):
to_csv