R语言xlsx,txt文件处理:以《书摘》00年-10年资源合集整理为例

偶然间读到一篇文章,分享06年《书摘》的内容,今天来看都不过时,所以起了找下这本老杂志合集的心思。

傅佩荣先生《哲学与人生》选段

"如果有人觉得活着很辛苦,面对自己又感觉无聊乏味,那么他应该多接触自然界。我有个朋友曾经养了九条狗,因为他认为看狗的脸比看人的脸舒服多了------的确,社会上很多人都是以貌取人,或见面先询问身家背景。譬如,我们下雨天走在街上,被一辆疾驶而过的车溅湿了衣服,如果看到那是一辆福特,通常会气愤难平,如果是一辆宾士,可能反而会后退一步,好像自己理屈。这就是群体造成的荒谬,使大家从外在价值来判断行为的是非。自古以来,人间岂有真正的公平?

自然界不会有这个问题,因为自然界的特色就是公平,耶稣说过:"(上天)降雨给义人,也给不义的人。"无论你是好人或坏人,下雨的时候都会淋到,绝对不可能因为你是好人就不会淋湿,坏人就变成落汤鸡。又如,任何人到海边都能听到一样的浪涛声,绝不会因人而异。自然界是公平的,当你觉得在群体和自我两方面面临很大的压力时,不妨和大自然多接触,譬如养宠物、种盆栽,假日到山上、公园走走,甚至街边的路树与小草都有值得观赏的地方。苏东坡说:"凡物皆有可观。苟有可观,皆有可乐,非必怪奇伟丽者也。"即使路边的一株小草、一朵小花,都有美妙迷人之处,并非只有风景名胜才值得造访。"
李强的《如何看待今日中国之富人阶层》。

这篇文章认为,中国人提起富人,总认为"为富即坏",有"无商不奸"的说法,但作者认为:

"分层和差异在社会上是一种普遍的现象......差异也不是绝对的坏事情。因为我们知道如果没有落差,水是不会流动的。一个社会完全拉平了以后,它就缺乏动力。"

这句话讲得实在是太好了!我们担心的,不是社会有贫富差距,而是这种贫富差距被固化。只要阶层不被固化,社会分层绝对是一件好事。近几年,"绝对公平"的极左思想又开始出现,我们应该读一读十几年前的这段话。

首先是在网上搜现成的pdf合集,没有,只现刊可以订阅,但找到了一个官方网站,刚好有00-10年老杂志的合集,多层链接,且文档是以前2G时代的瞎眼论坛模式,阅读不太友好。

打算根据这个网站,先获取文档,然后整理为带目录的txt文档,手机党就很方便。

具体分了这几步:

1、文档资源获取(爬虫步骤跳过啦),为了整理方便,处理成一篇文章一行的形式,序号、标题作为目录名称,时间用于分割文件(00-10年合计2k+篇文章,如果全放到一个txt文档,估计看一点人就废了,所以按年度分了11个文档)

2、接下来就是按上面思路把excel文档转为txt了,我是用R实现的,要点是函数、循环和字符串的拼接

r 复制代码
d1<-read.xlsx('正文.xlsx')
#按年拆
d1$year<-str_sub(d1$文本1,1,4)
d1list<-split(d1,d1$year)

#每年一合集
ab<-function(test){
  tt<-c()
  for (i in 1:nrow(test)) {
    tt[i]<-str_c(
      str_trim(str_c('第',test$篇章[i],'篇:',test$文本[i])),
      test$字段1[i],sep="\n")
  }
  rr<-paste(tt, collapse = '\n\n')
  rr<-str_remove_all(rr,'_x000D_')
  return(rr)
}

for (j in 1:length(d1list)) {
  test<-d1list[[j]]
  book<-ab(test)
  bookname<-str_c('书摘/',names(d1list),'.txt')[j]
  write.table(book,bookname,
              col.names = FALSE,row.names = FALSE,quote = FALSE)
}

3、最后整理如下,手机效果也给大家看下,个别段落可能因为爬虫时间等待问题漏采,但是不影响阅读。需要杂志资源的可以评论或者私信。


相关推荐
fmdpenny23 分钟前
Vue3初学之商品的增,删,改功能
开发语言·javascript·vue.js
涛ing37 分钟前
21. C语言 `typedef`:类型重命名
linux·c语言·开发语言·c++·vscode·算法·visual studio
等一场春雨1 小时前
Java设计模式 十四 行为型模式 (Behavioral Patterns)
java·开发语言·设计模式
黄金小码农1 小时前
C语言二级 2025/1/20 周一
c语言·开发语言·算法
萧若岚1 小时前
Elixir语言的Web开发
开发语言·后端·golang
wave_sky1 小时前
解决使用code命令时的bash: code: command not found问题
开发语言·bash
水银嘻嘻2 小时前
【Mac】Python相关知识经验
开发语言·python·macos
ac-er88882 小时前
Yii框架中的多语言支持:如何实现国际化
android·开发语言·php
我的运维人生2 小时前
Java并发编程深度解析:从理论到实践
java·开发语言·python·运维开发·技术共享
大乔乔布斯3 小时前
JRE、JVM 和 JDK 的区别
java·开发语言·jvm