Python 将dataframe.to_csv中的缓冲区设置为0
使用Pandas dataframe.to_csv()时,是否有方法将缓冲区设置为“0”?我查看了文档,似乎不允许将其作为一个论点。我是不是忽略了什么 编辑:我之所以问这个问题,是因为我输出的数据帧大小从几百行到数千行(总是有相同的7列),而最终检查文件的后续过程偶尔会失败,因为有时它没有完成编写Python 将dataframe.to_csv中的缓冲区设置为0,python,csv,pandas,Python,Csv,Pandas,使用Pandas dataframe.to_csv()时,是否有方法将缓冲区设置为“0”?我查看了文档,似乎不允许将其作为一个论点。我是不是忽略了什么 编辑:我之所以问这个问题,是因为我输出的数据帧大小从几百行到数千行(总是有相同的7列),而最终检查文件的后续过程偶尔会失败,因为有时它没有完成编写 当然,我可以引入延迟(3-5分钟),但如果不需要的话,我不想随意放慢代码的速度——我宁愿强制代码在继续之前等待输出完成,以及在使用open()编写文件时很高兴能够将缓冲区值设置为“0”。如果我正确理解
当然,我可以引入延迟(3-5分钟),但如果不需要的话,我不想随意放慢代码的速度——我宁愿强制代码在继续之前等待输出完成,以及在使用open()编写文件时很高兴能够将缓冲区值设置为“0”。如果我正确理解了您的问题,您可以实现以下功能。此代码段将实例作为的第一个参数传递,并调用:
然后,您可以根据自己的选择操作
输出。为什么需要这样做,如果您不传递任何内容,则返回一个输出字符串只需添加更多信息。@traggatmot如果您只想让其他进程知道文件创建已完成,在类似的情况下,我所做的是创建一个名为finished.txt
或类似文件的空文件,并让另一个进程等待该文件创建完成。这样,只有几微秒的延迟,并且没有奇怪的锁问题。在开始编写csv之前,请确保删除finished.txt
文件。这样它就不能同时编写两个文件了?这意味着,如果顺序是1)写入output.csv,2)写入finished.txt.,那么3)下一个过程中,python将确保在finished.txt之前完成output.csv的写入?这样在写入output.csv之前就不会启动下一个进程(步骤3)?
import StringIO
#### your code here...assuming something like:
#### import pandas as pd
#### data = {"key1":"value1"}
#### dataframe = pd.DataFrame(data, index=dataframe)
buffer = StringIO.StringIO()
dataframe.to_csv(buffer)
buffer.seek(0)
output = buffer.getvalue()
buffer.close()