Как я могу построить данные, которые в текстовом файле? - PullRequest
0 голосов
/ 22 января 2020

У меня есть выходной файл со сложным текстовым форматом с именем DATA_out (как в примере ниже), и я беру между двумя строчными (например, значениями и итогами) данные внутри файла и сохраняю их в виде файла Excel. Я сделал начальную и конечную строки с пользовательским вводом. Когда мой код работает, он берет данные, которые я хочу, и сохраняет в виде файла Excel. Вот проблема, есть 3 столбца с именем столбца 1,2,3 в тексте данных, но в файле xlsx у меня есть только один столбец. Из-за этого я не могу построить графику c.

Есть ли у вас какие-либо предложения по разделению столбец за столбцом с кодированием? Вот что у меня есть.

DATA_out file
      values
    DATA_LINE1 column1 column2 column3
    DATA_LINE2 column1 column2 column3
    DATA_LINE3 column1 column2 column3
    DATA_LINE4 column1 column2 column3
total

# Spyder Editor (Python 3.7)
import pandas as pd #Libraries
import os

#Receiving input data for the range in which the scanned text file will be selected.
start = input('Start: ')
end = input('Finish: ')
print('\n')

ffile = open("DATA_out.txt")

lines = [] #List to be filled

for line in ffile: #Finding the starting line
    if start in line:
        break

for line in ffile: #Finding the finish line
    if end in line:
        break

    lines.append(line)  # Filling the list                         

else: 
    lines = []
    print('Wrong input')

if lines: #output as a file
    print("".join(lines))
    with open('DatasText.txt', 'w') as ffile:
        for ddata in lines:
            ffile.write("%s" % ddata)

df = pd.read_table('DatasText.txt') #txt to excell format
df.to_excel('Datas.xlsx', 'Sheet1', index=False)
os.remove('DatasText.txt')

1 Ответ

1 голос
/ 22 января 2020

Я предположил, что данные существуют в текстовом файле, как это, и назвал их test.txt.

DATA_LINE1 column1 column2 column3
DATA_LINE2 column1 column2 column3
DATA_LINE3 column1 column2 column3
DATA_LINE4 column1 column2 column3

Теперь это мой код для вывода sh в файл Excel:

import pandas as pd

df = {'dataline':[],'column1':[],'column2':[],'column3':[]}
data = ''
with open('test.txt','r') as f:
    data = f.read()

for line in data.split('\n'):
    x = line.split(' ')
    df['dataline'].append(x[0])
    df['column1'].append(x[1])
    df['column2'].append(x[2])
    df['column3'].append(x[3])

df = pd.DataFrame(df)
print(df)
df.to_excel('data.xlsx')

Вывод:

     dataline  column1  column2  column3
0  DATA_LINE1  column1  column2  column3
1  DATA_LINE2  column1  column2  column3
2  DATA_LINE3  column1  column2  column3
3  DATA_LINE4  column1  column2  column3

Изображение файла Excel:

Excel image

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