预处理(rstrip和正则表达式以及更简单的代码)

2024-09-28 05:24:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试读取200个txt文件并做一些预处理。你知道吗

1)如何编写更简单的代码,而不是为每个txt文件编写相同的代码?你知道吗

2)我能把正则表达式和rstrip结合起来吗?你知道吗

->;主要是,我想去掉“\n”,但有时它们与其他字母。所以我想要的是删除\n以及与\n组合的单词(即“\n?”, "!\“不”。。以此类推)

3)在最后一行,有没有一种方法可以用更简单的代码将所有列表添加到一个列表中? 你知道吗

data = open("job (0).txt", 'r').read()
rows0 = data.split(" ")
rows0 = [item.rstrip('\n?, \n') for item in rows0]

data = open("job (1).txt", 'r').read()
rows1 = data.split(" ")
rows1 = [item.rstrip('\n?, \n') for item in rows1]

你知道吗 …..(最多200个文件)

data = open("job (199).txt", 'r').read()
rows199 = data.split(" ")
rows199 = [item.rstrip('\n?, \n') for item in rows199]

ds_l = rows0 + rows1 + ... rows199

Tags: 文件代码intxtforreaddatajob
1条回答
网友
1楼 · 发布于 2024-09-28 05:24:43

首先,我不是python专家。但既然这个问题已经存在了一段时间。。。(如果没人看这个,至少我不会被否决)

1)使用循环,阅读编程教程。 例如,请参阅这篇关于如何获取所有行的列表的文章How do I read a file line-by-line into a list?。然后你可以在列表上循环。你知道吗

2)不知道是否可以使用带strip的regex,这让我来到这里,所以如果你发现了,告诉我。你知道吗

不清楚您到底想要什么,您是想去掉所有包含“/n”的(空格分隔的)单词,还是只删除“/n”、“/n?”,... 部分单词?你知道吗

在第一种情况下,一个简单、不合法的解决方案是在一行和一行中的所有单词上有两个循环

# loop over rows with i as index row = rows[i].split(" ") for j in range len(row): if("/n" in row[j]) del row[j] rows[i] = " ".join(row)

在后一种情况下,如果没有那么多要删除的表达式,则可以使用回复sub()不知怎么的。谷歌帮助;)

3)如果将行作为字符串的“行”列表,则可以使用join:

ds_1 = "".join(rows)

(对于join:Python join: why is it string.join(list) instead of list.join(string)?

相关问题 更多 >

    热门问题