CSV-файл не создается, если я запускаю Python-файл на CMD - PullRequest
2 голосов
/ 28 июня 2019

У меня есть файл Python, который записывает данные в файл CSV.У меня есть другой файл Python, который читает данные из файла CSV и показывает их на графике.

, когда я пытаюсь запустить первый файл в CMD, файл CSV не создается, в то время как значения, которые должны иметьзаписанные в файл csv печатаются.

когда я использую IDLE для запуска первого файла, я вижу, что файл csv создается и данные записываются в него.и кроме того, я вижу изменения в файле csv, используя второй файл, поскольку он проверяет наличие обновлений каждую секунду.

Кто-нибудь знает, почему он не работает с CMD?

работалс питоном на 4 месяца

первый файл:

https://www.codepile.net/pile/eZ68EbXd

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)

второй файл: https://www.codepile.net/pile/GndPGGn1

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...