You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame列转换为多主题独立文本文件?

按主题批量生成关键词文本文件

我有一个包含topic和keywords列的DataFrame,数据示例如下:

topic   keyword
    0   ['player', 'team', 'word_finder_unscrambler', ...
    1   ['weather', 'forecast', 'sale', 'philadelphia'...
    2   ['name', 'state', 'park', 'health', 'dog', 'ce...
    3   ['game', 'flight', 'play', 'game_live', 'play_...
    4   ['dictionary', 'clue', 'san_diego', 'professor...

需要为每个主题单独生成topic1.txt、topic2.txt……topic20.txt,每个文本文件中对应keywords列的字符串需按换行分隔存放,示例如下:

# topic1.txt 文件内容
player
team
word_finder_unscrambler
...

解决方案

使用Python的pandas库可以快速实现需求,核心逻辑是遍历每行数据,将对应关键词写入指定文件:

完整代码

import pandas as pd

# 假设你的DataFrame已加载完成,用df表示
# 若数据来自文件,可通过 df = pd.read_csv('your_data_source.csv') 加载

for idx, row in df.iterrows():
    # 转换为文件名需要的1-based主题编号
    topic_file_num = row['topic'] + 1
    keywords = row['keywords']
    
    # 处理特殊情况:若keywords是字符串格式的列表(比如从CSV读取的)
    if isinstance(keywords, str):
        keywords = eval(keywords)
    
    # 生成目标文件名并写入内容
    file_name = f'topic{topic_file_num}.txt'
    with open(file_name, 'w', encoding='utf-8') as f:
        f.write('\n'.join(keywords))

注意事项

  • 若keywords列本身就是Python列表类型,可删除字符串转列表的if isinstance代码块
  • 确保运行代码的目录有写入权限,生成的文件会直接保存在当前工作目录
  • 若原始topic列是0到19的连续编号,会自动生成topic1.txt至topic20.txt,完全匹配需求

内容的提问来源于stack exchange,提问作者think-maths

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:01:33