有一个excel文件标题是酒店名称客户整体评价入住时间好的方面差的方面五列文件内容是多家酒店的客户评论一个酒店的评论写在了一起不同的酒店之间空了一行需要读取这个excel文件将每个酒店的评论内容里面的好的方面差的方面这两列单独写入txt文本文件txt文本不要表头文件名是酒店名称;所有酒店的文本文件放在名字为hotels_comments这个文件夹下怎么写python代码
以下是Python代码示例:
import openpyxl
import os
# 打开Excel文件
wb = openpyxl.load_workbook('hotel_comments.xlsx')
# 获取第一个工作表
ws = wb.active
# 创建存储文本文件的文件夹
if not os.path.exists('hotels_comments'):
os.mkdir('hotels_comments')
# 遍历每一行
hotel_name = ''
for row in ws.iter_rows(min_row=2):
if row[0].value: # 如果该行有酒店名称
hotel_name = row[0].value
# 创建酒店名称对应的txt文件
with open(f'hotels_comments/{hotel_name}.txt', 'w', encoding='utf-8') as f:
pass
if row[3].value: # 如果该行有好的方面
# 将好的方面写入txt文件
with open(f'hotels_comments/{hotel_name}.txt', 'a', encoding='utf-8') as f:
f.write(row[3].value + '\n')
if row[4].value: # 如果该行有差的方面
# 将差的方面写入txt文件
with open(f'hotels_comments/{hotel_name}.txt', 'a', encoding='utf-8') as f:
f.write(row[4].value + '\n')
解释一下代码:
- 使用openpyxl库打开Excel文件。
- 获取第一个工作表。
- 创建存储文本文件的文件夹。
- 使用iter_rows方法遍历每一行,从第二行开始(min_row=2)。
- 如果该行有酒店名称,则更新当前处理的酒店名称,并创建该酒店名称对应的txt文件。
- 如果该行有好的方面,则将好的方面写入该酒店名称对应的txt文件。
- 如果该行有差的方面,则将差的方面写入该酒店名称对应的txt文件。
- 完成遍历后,所有酒店的文本文件都存储在hotels_comments文件夹下
原文地址: https://www.cveoy.top/t/topic/fJad 著作权归作者所有。请勿转载和采集!