读取netCDF并创建“虚拟/伪”csv文件

时间:2013-11-05 08:03:46

标签: python csv binaryfiles netcdf

现在我正在编写一个python脚本来读取二进制格式(netCDF)和csv文件中的数据。只能从另一个只接受csv文件的程序中再次读取它。

是否可以选择将内存中的CSV文件直接提供给第二个程序? 某种伪文件?第二个程序认为它正在读取CSV文件但实际上只是内存文件?

2 个答案:

答案 0 :(得分:1)

您可以使用subprocess模块的管道功能将数据写入其他程序。

import subprocess
proc = subprocess.Popen("/usr/bin/tac", stdin=subprocess.PIPE)  # Output will go to stdout
proc.communicate("hello\nworld\n")  # This data goes to the subprocess.

将输出(或更确切地说,tac

world
hello

编辑:这是假设其他程序支持从标准输入读取。如果没有,你可以在类UNIX系统上用fifos模拟这个...

答案 1 :(得分:1)

您可以使用tempfile模块:

>>> import tempfile
>>> f = tempfile.NamedTemporaryFile(delete=False)
>>> f.write("Hello World!\nHello World!\n")
>>> f.close()
>>> f=open(f.name)
>>> f.readlines()
['Hello World!\n', 'Hello World!\n']