Python 熊猫为什么不创建excel文件?
我正在尝试为我生成的数据库创建一个带有熊猫的excel文件 我试过两种方法:Python 熊猫为什么不创建excel文件?,python,excel,pandas,Python,Excel,Pandas,我正在尝试为我生成的数据库创建一个带有熊猫的excel文件 我试过两种方法: import pandas as pd # write database to excel df = pd.DataFrame(database) # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter('fifa19.xlsx', engine='xlsxwriter') # Convert t
import pandas as pd
# write database to excel
df = pd.DataFrame(database)
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('fifa19.xlsx', engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')
# Close the Pandas Excel writer and output the Excel file.
writer.save()
以及:
import pandas as pd
df = pd.DataFrame(database).T
df.to_excel('database.xls')
但是,所有选项都不会生成excel文件。数据库是一本字典。来自pandas文档本身:
如果传递现有的ExcelWriter
对象,则工作表将添加到现有工作簿中。这可用于将不同的数据帧保存到一个工作簿:
>>> writer = pd.ExcelWriter('output.xlsx')
# writer = pd.ExcelWriter('/path_to_save/output.xlsx')
>>> df1.to_excel(writer,'Sheet1')
>>> df2.to_excel(writer,'Sheet2')
>>> writer.save()
为了与to_csv
兼容,to_excel将列表序列化,并将其写入
在写之前输入字符串
从文件本身来看:
如果传递现有的ExcelWriter
对象,则工作表将添加到现有工作簿中。这可用于将不同的数据帧保存到一个工作簿:
>>> writer = pd.ExcelWriter('output.xlsx')
# writer = pd.ExcelWriter('/path_to_save/output.xlsx')
>>> df1.to_excel(writer,'Sheet1')
>>> df2.to_excel(writer,'Sheet2')
>>> writer.save()
为了与to_csv
兼容,to_excel将列表序列化,并将其写入
在写之前输入字符串
你的代码对我来说很好。在解释器的当前工作目录中创建文件;i、 e.
os.getcwd()
的输出——也许你找错地方了?@fuglede你是对的。它被保存到一个完全不同的位置。有没有一种简单的方法来更改它,使其保存到与文件相同的目录?@AntonÖdman您可以使用os.chdir
来更改工作目录,但这取决于您如何使用它,很可能在ExcelWriter
的参数中指定绝对路径会更好。简单的writer=pd.ExcelWriter('/home/anton/newoutput.xlsx')
,但是您不需要在pandas的新版本中提到engine='xlsxwriter'
。@antonÖdman,我认为调用额外的模块来更改路径是不好的,即使我们可以在写入新文件的过程中显式地提到路径,直到出于某些原因它是必需的。您的代码对我来说很好。在解释器的当前工作目录中创建文件;i、 e.os.getcwd()
的输出——也许你找错地方了?@fuglede你是对的。它被保存到一个完全不同的位置。有没有一种简单的方法来更改它,使其保存到与文件相同的目录?@AntonÖdman您可以使用os.chdir
来更改工作目录,但这取决于您如何使用它,很可能在ExcelWriter
的参数中指定绝对路径会更好。简单的writer=pd.ExcelWriter('/home/anton/newoutput.xlsx')
,但是您不需要在pandas的新版本中提到engine='xlsxwriter'
。@antonÖdman,我认为调用额外的模块来更改路径是不好的,即使我们可以在写入新文件的过程中显式地提到路径,直到出于某些原因它是必需的。谢谢。我的代码(由其他人编写)在一段时间内运行良好,但由于某种原因停止工作(可能是由于环境变化)。原来代码没有“writer.save()”行。现在它工作了:)谢谢你。我的代码(由其他人编写)在一段时间内运行良好,但由于某种原因停止工作(可能是由于环境变化)。原来代码没有“writer.save()”行。现在它起作用了:)