прочитать файл с пандами и создать заголовок - PullRequest
0 голосов
/ 27 июня 2018

У меня есть несколько текстовых файлов, отформатированных таким образом

label1: value1 label2: string1 date: 2018-06-26 label3: value2 label4: string

Я хотел бы прочитать эти файлы и создать базу данных. где у меня есть заголовки, а затем значения / строки который потом я пишу в файл. любая помощь? С уважением

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

, если данные в точности похожи на это:

Возраст: 39 лет Имя: Джек дата: 2018-06-26 Регион: Нью-Йорк Открыт: Да
Возраст: 21 Имя: Роза Дата: 2018-09-16 Регион: TX Открыто: NO

Вам нужно разделить тексты на основе ПРОСТРАНСТВ в строках.

import pandas as pd

f=open('D:\\1.txt','r')
datalist=[]
dlabels=[]
for line in f:
    words = line.split(' ')
    words[-1] = words[-1][:-1]
    if len(dlabels)==0:
        for i in range(0,len(words),2):
            dlabels.append(words[i][:-1])
    tempL=[]
    for i in range(0,len(words),2):
        tempL.append(words[i+1])
    datalist.append(tempL)        
f.close()

data=pd.DataFrame(datalist,columns=dlabels)
print(data)  

выход:
Возраст Имя Дата Регион Открыто
0 39 Джек 2018-06-26 NY Да
1 21 роза 2018-09-16 TX NO

0 голосов
/ 27 июня 2018

Похоже, у вас есть соответствие между метками идентификатора и значениями. Вы можете преобразовать это в словарь через стандартный Python:

from io import StringIO

mystr = StringIO("""label1: value1 label2: string1 date: 2018-06-26 label3: value2 label4: string""")

# replace mystr with open('file.csv', 'r')
with mystr as fin:
    data = next(fin).strip().split()
    data_dict = {i[:-1]: j for i, j in zip(data[::2], data[1::2])}

print(data_dict)

{'date': '2018-06-26',
 'label1': 'value1',
 'label2': 'string1',
 'label3': 'value2',
 'label4': 'string'}

Здесь есть много опций, в зависимости от того, какой именно формат вы хотите вывести, например, pandas, csv и т. Д. Для получения дополнительной информации об этом шаге необходимо предоставить более подробную информацию, но сначала вам необходимо изучить следующие параметры:

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