Python入门:文件内容去重操作

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#   学习是一种态度,只要你有态度,学习将会是一种乐趣
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# python3.5
'''
1、对特定文件内容进行去重操作
2、请输入需要去重文件的绝对路径
3、删除文件中的空行
4、去除字符串前后空行
5、生成一个以当前日期命名的文件
'''

import time

year = time.localtime().tm_year
mon = time.localtime().tm_mon
day = time.localtime().tm_mday
hour = time.localtime().tm_hour
min = time.localtime().tm_min
sec = time.localtime().tm_sec
nowtime = str(year) + str(mon) + str(day) + str(hour) + str(min) + str(sec)

f = input("please entry the file[absolute path]:")


def openThefile():
    '''
    1、打开要去重的文件
    2、删除每行数据前后的无用字符
    :return:
    '''
    ff = open(f, 'r')
    l = []
    # for i in ff.readline():     #readline是文件中的第一行内容
    for i in ff.readlines():  # 所有内容中的每一行
        ii = i.replace('\t', '').strip()
        l.append(ii)
    ff.close()
    return l


def createNewfile(openThefile):
    '''
    去重操作
    :param openThefile:
    :return:
    '''
    l = []
    for i in openThefile:
        if i not in l:
            l.append(i)
    '''
    创建新文件
    '''
    filename = f[:f.find('.')]
    postfix = f[f.find('.'):]
    theNewfile = open(filename + nowtime + postfix, 'a')
    '''
    写入处理过的内容
    '''
    for i in l:
        theNewfile.writelines(i + '\n')
    theNewfile.close()


if __name__ == '__main__':
    createNewfile(openThefile())

== == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == ==

### 回答1: 可以使用Python中的set()函数来去除重复的文本。set()函数可以接受一个列表作为参数,并返回一个包含列表中所有不重复元素的集合。例如,假设有一个包含重复文本的列表text_list,可以使用以下代码将其转换为一个不包含重复文本的集合: ``` text_list = ['apple', 'banana', 'orange', 'apple', 'banana'] unique_text = set(text_list) print(unique_text) ``` 输出结果为: ``` {'orange', 'banana', 'apple'} ``` 这样就可以方便地去除文本中的重复项了。如果需要将去重后的文本保存到一个新文件中,可以使用以下代码: ``` with open('input.txt', 'r') as f: text = f.readlines() unique_text = set(text) with open('output.txt', 'w') as f: for line in unique_text: f.write(line) ``` 其中,input.txt为输入文件名,output.txt为输出文件名。这段代码会读取input.txt文件中的所有行,去除重复行,并将结果写入output.txt文件中。 ### 回答2: Python中文本去重可以使用set数据结构进行操作。首先,将文本读取为一个字符串,然后使用split()函数进行分词,将文本拆分成一个列表。接下来,将列表转换为set集合,set集合会自动去除重复元素。最后,使用join()函数将去重后的元素再次组合成一个字符串。 下面是一个示例代码: ```python text = "这是一个文本文本样例。这是一个示例文本。" # 将文本转换为列表 word_list = text.split() # 去除重复元素 unique_words = set(word_list) # 将去重后的元素转换为字符串 result = ' '.join(unique_words) print(result) ``` 以上代码输出结果为:"文本样例。这是一个示例文本。这是一个",其中,文本中的重复元素"文本"只保留了一个。 ### 回答3: Python文本去重指的是在文本中去除重复的内容,使得文本中的每个元素都是唯一的。 下面是使用Python进行文本去重的一种简单方法: 1.创建一个空集合set用于存储去重后的文本内容。 2.遍历文本中的每个元素,将元素添加到集合中。 3.遍历完成后,集合中将只包含文本中的唯一元素。 4.将集合转换为列表,以便对结果进行操作或输出。 以下是一个示例代码: ``` def text_deduplicate(text): unique_elements = set() for element in text: unique_elements.add(element) deduplicated_text = list(unique_elements) return deduplicated_text # 测试代码 text = ['apple', 'banana', 'apple', 'orange', 'banana'] deduplicated_text = text_deduplicate(text) print(deduplicated_text) ``` 结果输出为:['orange', 'banana', 'apple'] 以上是一种简单的方法,也可以使用其他方法实现文本的去重,根据实际需要选择合适的方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值