首页 > 解决方案 > 如果我在 CMD 上运行 python 文件,则不会创建 csv 文件

问题描述

我有一个将数据写入 csv 文件的 python 文件。我有另一个 python 文件,它从 csv 文件中读取数据并将其显示在绘图上。

当我尝试在 CMD 上运行第一个文件时,在打印应该写入 csv 文件的值时,不会创建 csv 文件。

当我使用 IDLE 运行第一个文件时,我可以看到正在创建 csv 文件并且正在将数据写入其中。此外,我可以使用第二个文件查看 csv 文件中的更改,因为它每秒检查一次更新。

有谁知道为什么它不能与 CMD 一起使用?

使用 python 工作了 4 个月

第一个文件:

import csv
import random
import time

x_value = 0
total_1 = 1000
total_2 = 1000

fieldnames = ["x_value", "total_1", "total_2"]


with open('data.csv', 'w') as csv_file:
    csv_writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    csv_writer.writeheader()

while True:

    with open('data.csv', 'a') as csv_file:
        csv_writer = csv.DictWriter(csv_file, fieldnames=fieldnames)

        info = {
            "x_value": x_value,
            "total_1": total_1,
            "total_2": total_2
        }

        csv_writer.writerow(info)
        print(x_value, total_1, total_2)

        x_value += 1
        total_1 = total_1 + random.randint(-6, 8)
        total_2 = total_2 + random.randint(-5, 6)

    time.sleep(1)

第二个文件:

import random
from itertools import count
import pandas as pd 
import matplotlib.pyplot as plt 
from matplotlib.animation import FuncAnimation

plt.style.use('fivethirtyeight')

x_vals = []
y_vals = []

index = count()

def animate(i):
    data = pd.read_csv('data.csv')
    x = data['x_value']
    y1 = data['total_1']
    y2 = data['total_2']

    plt.cla()
    plt.plot(x,y1,label = 'Channel 1')
    plt.plot(x,y2,label = 'Channel 2')

    plt.legend(loc= 'upper left')
    plt.tight_layout()

ani = FuncAnimation(plt.gcf(),animate,interval= 1000)    

plt.tight_layout()
plt.show()

谢谢

顺便说一句,我正在运行 python 3.7.2

标签: pythonpandascsvcmd

解决方案


推荐阅读