читать значения и записывать их как разделенные запятыми значения python - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь прочитать значения из файла .txt и записать их в другой файл .txt, одно значение в строке и индекс, разделенный запятой.Я застреваю, потому что когда я записываю значения в новый файл, я также пишу символ [ с первым значением и \n] с последним.Чего мне не хватает?Как я могу написать только значения?Проблема в первой функции create_csv()

import matplotlib.pyplot as plt
import csv
x = []
y = []

def create_csv():
    index=0
    new_file = open("wv_00_csv.txt", "w+")
    with open('wv_00.txt','r') as f:
        data = f.readlines()
        data1=str(data)
        #new_file.writelines(str(type(data1)))
        #new_file.writelines(str(len(data1)))
        my_var = data1.split(",")
        #new_file.writelines(["%s\n" % item  for item in data1])
        #new_file.writelines(str(my_var))
        #new_file.writelines((my_var))
        #new_file.write("\n")
        for item in my_var:
            new_file.write(item +" , " +str(index))
            new_file.write("\n")
            index+=1
    new_file.close()

def plot():
    with open('wv_00_csv.txt','r') as csvfile:
       plots = csv.reader(csvfile, delimiter=',')
       for row in plots:
          x.append(float(row[1]))
          y.append(float(row[0]))
    plt.plot(x,y, label='Outputwaveform')
    plt.xlabel('x')
    plt.ylabel('y')
    plt.title('Waveformplot')
    plt.legend()
    plt.show()

create_csv()
#plot()

Здесь - ссылка, если она полезна

1 Ответ

0 голосов
/ 02 марта 2019

Основываясь на файле, который вы связали, я не увидел ни '\ n', ни '[', вместо этого вы получили это путем преобразования списка непосредственно в строку, которая сохраняет все .

Преобразование данных в строку с последующим немедленным присоединением к ней и разделением устраняет эту проблему.

def create_csv():
    index=0
    new_file = open("wv_00_csv.txt", "w+")
    with open('wv_00.txt','r') as f:
        data = f.readline()
        data_string = str(data)
        data_joined = ''.join(data_string)
        data_joined = data_joined.rstrip('\n')
        data_list = data_joined.split(',')
        for item in data_list:
            new_file.write(item + " " + str(index) + '\n')
            index+=1
    new_file.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...