![](/img/trans.png)
[英]Python search for string in csv columns and write row in another csv file
[英]CSV file - handle row and columns with python
請問你能幫幫我嗎?
我有關於酒店的 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 ... .......
..
...
....
如果我正確理解您的問題,您有一個包含多行的 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]
您必須為此安裝熊貓,並使用熊貓讀取您的 csv 文件(這很容易)。
您可以使用CSV 庫來做到這一點。 假設一個像這樣的 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')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.