CSV-файл - обрабатывать строки и столбцы с помощью Python - PullRequest
0 голосов
/ 22 марта 2019

Не могли бы вы помочь мне, пожалуйста?

У меня есть файл набора данных CSV об отелях и содержит много столбцов. Мне нужно обработать название отеля и отзывы.

Как преобразовать строки названия отеля в столбцы? объединить отзывы для каждого отеля и сохранить результаты в новом файле CSV?

Я использую Python 3.7

Обновление: сначала спасибо за комментарии

и извините, я должен положить форму вывода

У меня более 1400 отелей

hotel-name     reviews 
Hotel Arena    love it
Hotel Arena    great
Hotel Arena    good
Hotel Arena    ........

the output will be :

hotel 1   hotel 2  hotel 3  .......
love it   stay     not bad
great     old      ..... 
good      ...      .......
..        
...         
....       

Ответы [ 2 ]

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

Вы можете использовать CSV library , чтобы сделать это. Предполагая, что CSV-файл, как этот:

name,review,comments
A,nice,blabla
B,notnice,bleble

Вы можете фильтровать строки по столбцам:

import csv

if __name__ == "__main__":
    file = open('file.csv', 'rb')
    for row in csv.DictReader(file, delimiter = ','):
        print (row['name'],row['review']) 

Печать:

('A', 'nice')
('B', 'notnice')
0 голосов
/ 22 марта 2019

Если я правильно понимаю ваш вопрос, у вас есть CSV-файл, который содержит много строк, в каждой строке есть отзыв об отеле.

Если это так, вы можете использовать что-то вроде этого:

import pandas as pd

df = pd.DataFrame({'hotel': ['A', 'A', 'B', 'B', 'A', 'C'], 'rating': [1, 1, 2, 4, 3, 5]})

df.groupby('hotel').aggregate(lambda x: list(x))

Выход DF:

  hotel  rating
0     A       1
1     A       1
2     B       2
3     B       4
4     A       3
5     C       5

А после группы:

          rating
hotel           
A      [1, 1, 3]
B         [2, 4]
C            [5]

Для этого вам нужно будет установить pandas, и прочитать ваш CSV-файл с помощью pandas (что очень легко).

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