同时使用两个程序从 CSV 读取

问题描述

美好的一天! 我想知道是否有任何方法可以允许不同的编程语言同时访问 csv。 我使用 c# 获取实时股票市场数据,然后 Python 对这些数据进行计算,然后将数据返回到 csv 文件以供 c# 再次读取,如果我使用多个步骤,即收集历史数据预测历史数据并读取历史数据,但是当我尝试一步(实时)执行此操作时,出现以下错误

[Errno 13] Permission denied: 'CurrencyPair-Minute.csv'

我认为这是 c# 程序使用该文件的结果。 我用以下参数打开的

File.Open(fiName,FileMode.Open,FileAccess.ReadWrite,FileShare.Write);

我只在程序停止时关闭数据流,并且流在 c# 程序中不断打开以进行读写。 如果我在文件未被读取或写入时关闭流,我得到的错误

Crashed in (MethodName) with ArgumentException: Stream was not readable.

此外,这将不起作用,因为 Python 程序需要不断检查文件是否有更新。

任何帮助将不胜感激

谢谢

解决方法

在获取数据并写入 csv 并在 C# 中关闭 csv 文件后,您应该能够从 C# 文件运行 python 脚本。请参阅此处:How do I run a Python script from C#?

流程是这样的:

C#

  • 获取数据
  • 写入 csv
  • 关闭文件
  • 调用python脚本

蟒蛇

  • 进行计算
  • 写入文件
  • 关闭文件
  • 退出