Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将dataframe.to_csv中的缓冲区设置为0_Python_Csv_Pandas - Fatal编程技术网

Python 将dataframe.to_csv中的缓冲区设置为0

Python 将dataframe.to_csv中的缓冲区设置为0,python,csv,pandas,Python,Csv,Pandas,使用Pandas dataframe.to_csv()时,是否有方法将缓冲区设置为“0”?我查看了文档,似乎不允许将其作为一个论点。我是不是忽略了什么 编辑:我之所以问这个问题,是因为我输出的数据帧大小从几百行到数千行(总是有相同的7列),而最终检查文件的后续过程偶尔会失败,因为有时它没有完成编写 当然,我可以引入延迟(3-5分钟),但如果不需要的话,我不想随意放慢代码的速度——我宁愿强制代码在继续之前等待输出完成,以及在使用open()编写文件时很高兴能够将缓冲区值设置为“0”。如果我正确理解

使用Pandas dataframe.to_csv()时,是否有方法将缓冲区设置为“0”?我查看了文档,似乎不允许将其作为一个论点。我是不是忽略了什么

编辑:我之所以问这个问题,是因为我输出的数据帧大小从几百行到数千行(总是有相同的7列),而最终检查文件的后续过程偶尔会失败,因为有时它没有完成编写


当然,我可以引入延迟(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()