import pandas as pd
import os

# 读取Excel文件
df = pd.read_excel('hotel_comments.xlsx')

# 创建存储文本文件的文件夹
if not os.path.exists('hotels_comments'):
    os.mkdir('hotels_comments')

# 遍历每一行
for index, row in df.iterrows():
    if pd.notnull(row['酒店名称']):  # 如果该行有酒店名称
        hotel_name = row['酒店名称']
        # 创建酒店名称对应的txt文件
        with open(f'hotels_comments/{hotel_name}.txt', 'w', encoding='utf-8') as f:
            pass
    if pd.notnull(row['好的方面']):  # 如果该行有好的方面
        # 将好的方面写入txt文件
        with open(f'hotels_comments/{hotel_name}.txt', 'a', encoding='utf-8') as f:
            f.write(row['好的方面'] + ' ')
    if pd.notnull(row['差的方面']):  # 如果该行有差的方面
        # 将差的方面写入txt文件
        with open(f'hotels_comments/{hotel_name}.txt', 'a', encoding='utf-8') as f:
            f.write(row['差的方面'] + ' ')

代码解释:

  1. 导入库:首先导入pandas和os库,分别用于数据处理和文件操作。
  2. 读取Excel文件:使用pd.read_excel()函数读取名为'hotel_comments.xlsx'的Excel文件,并将数据存储到一个名为df的DataFrame中。
  3. 创建文件夹:使用os.mkdir()函数创建一个名为'hotels_comments'的文件夹,用于存放生成的文本文件。
  4. 遍历DataFrame:使用df.iterrows()函数遍历DataFrame的每一行,并获取行索引和数据。
  5. 判断酒店名称:使用pd.notnull()函数判断当前行是否包含酒店名称,如果包含则将酒店名称存储到变量hotel_name中。
  6. 创建文本文件:使用with open()语句创建一个名为hotel_name.txt的文本文件,文件路径为'hotels_comments'文件夹下。
  7. 写入评论内容:使用f.write()函数将当前行的'好的方面'和'差的方面'内容写入到对应的文本文件中,并将内容以空格分隔。

代码说明:

  • 该代码将Excel文件中的酒店评论数据按酒店名称进行分类,并分别写入到不同的文本文件中。
  • 每个文本文件包含该酒店的所有评论内容,包括好的方面和差的方面,并以空格分隔。
  • 代码使用了pd.notnull()函数来判断数据是否为空,避免写入空数据。
  • 代码使用了with open()语句来打开文件,确保文件在使用完毕后自动关闭,避免资源浪费。

注意事项:

  • 确保Excel文件和Python脚本在同一目录下。
  • 确保Excel文件中的列名与代码中使用的列名一致。
  • 可以根据需要修改代码中的文件路径和文件名。
Python使用Pandas将Excel酒店评论数据拆分到多个文本文件

原文地址: https://www.cveoy.top/t/topic/ooMO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录