一直有观看马前卒工作室睡前消息的习惯, 感觉他的内容很理性, 透露着马列科学社会风。 引爆全网的两个话题独山县债务问题、以岭药业连花清瘟胶囊事件。 数据可以拿来练习词频统计、词云图制作、情感分析、lda话题建模。已整理为csv文件,留给需要的人。
一、原始数据
『睡前消息』截止2023年3月6日,已经更新至559期. 文稿资源来自 https://archive.bedtime.news/zh/main
原始数据集下载下来是这个样子
数据集文件夹的目录树结构
- 睡前消息文本 第1-100期
|- 001-010期
|- 2019 07 12 第一期.docx
|- 2019 07 16 第二期.docx
|- 2019 07 19 第三期.docx
|- 2019 07 23 第四期.docx
|- ...
|- 011-020期
|- 021-030期
|-...
- 睡前消息文本 第101-200期
- 睡前消息文本 第201-300期
- 睡前消息文本 第301-400期
- 睡前消息文本 第401-500期
- 睡前消息文本 第501-最新
- bedtime_news.csv
- code.ipynb
一、整理数据
原始数据docx文件存储,数据集是2层文件夹结构。可以使用glob库提供文件路径识别功能
import os
import glob
import csv
from pdfdocx import read_docx
with open('bedtime_news.csv', 'w', encoding='utf-8', newline='') as csvf:
fieldnames = ['date', 'name', 'text']
writer = csv.DictWriter(csvf, fieldnames = fieldnames)
writer.writeheader()
# 使用glob模块查找所有的docx文件路径
docx_files = glob.glob("**/*.docx", recursive=True)
docx_files = [f for f in docx_files if 'DS' not in f]
# 输出所有docx文件路径
for file_path in docx_files:
print(file_path)
file_name = re.sub('\s', '', file_path.split('/')[-1])
if file_name.startswith('22'):
file_name = '2022'+ file_name[2:]
date = re.findall('\d{8}', file_name)[0]
episode = re.sub('.docx', '', file_name.replace(date, ''))
text = read_docx(file_path)
data = {"date": str(date),
"name": file_path,
"text":text}
writer.writerow(data)
二、导入csv
import pandas as pd
df = pd.read_csv("bedtime_news.csv", converters={'date': str})
df.head()
Run
len(df)
Run
522
获取方式
链接: https://pan.baidu.com/s/1Qor_FNBnGuTsq4NpF3vzVQ 提取码: t8pq