python写入txt不重复
时间: 2023-08-31 18:05:06 浏览: 33
可以使用set来实现去重,将要写入的内容加入set中,然后将set中的内容写入到txt文件中,这样就可以保证写入的内容不重复了。
以下是一个示例代码:
```
# 要写入的内容
data = ["apple", "banana", "orange", "apple", "pear"]
# 打开文件
with open("output.txt", "w") as f:
# 将内容加入set中去重
unique_data = set(data)
# 将去重后的内容写入文件
for item in unique_data:
f.write(item + "\n")
```
在这个示例中,我们使用了set来去重,然后将去重后的内容写入到output.txt文件中。如果有重复的内容,只会写入一次。
相关问题
python 文本写入txt 不重复
要实现不重复写入文本,可以先读取已有的文本内容,然后判断要写入的内容是否已经存在于文本中,如果不存在就写入,否则不写入。
下面是一个示例代码:
```python
# 要写入的内容
content = "Hello world!"
# 打开文本文件,如果文件不存在则创建文件
with open("example.txt", "a+") as f:
# 将文件指针移到文件开头
f.seek(0)
# 读取文件内容
lines = f.readlines()
# 判断要写入的内容是否已经存在于文件中
if content + "\n" not in lines:
# 写入内容
f.write(content + "\n")
```
在这个示例代码中,我们首先定义要写入的内容为字符串变量 `content`。然后使用 `with open()` 语句打开文件,指定文件名为 `example.txt`,模式为 `a+`,表示以追加模式打开文件,如果文件不存在则创建文件。使用 `f.seek(0)` 将文件指针移到文件开头,使用 `f.readlines()` 读取文件内容并存储在变量 `lines` 中。然后判断要写入的内容是否已经存在于文件中,如果不存在就将内容写入文件中。注意,我们在写入内容时加上了换行符 `\n`,这是为了保持和读取文件时一致,避免出现不必要的问题。
使用这种方法可以实现不重复写入文本。
python读取目录下的所有csv文件 读取所有的A列 写入txt 不重复
好的,我会按照您的要求进行回答。以下是Python的代码示例:
```python
import os
csv_dir = '/path/to/csv/dir' # CSV文件目录
output_file = '/path/to/output.txt' # 输出文件路径
unique_set = set() # 用于存储不重复的A列数据
with open(output_file, 'w') as f:
for filename in os.listdir(csv_dir):
if filename.endswith('.csv'):
with open(os.path.join(csv_dir, filename), 'r') as csv_file:
for line in csv_file:
a_value = line.split(',')[0] # 读取A列的数据
if a_value not in unique_set: # 如果A列数据不在集合中,则写入输出文件并添加到集合中
f.write(a_value + '\n')
unique_set.add(a_value)
```
解释一下代码的实现过程:
1. 首先定义了一个`csv_dir`变量,用于存储CSV文件所在的目录路径,以及一个`output_file`变量,用于存储输出文件的路径。
2. 创建一个空的集合`unique_set`,用于存储不重复的A列数据。
3. 打开输出文件,准备写入A列数据。
4. 循环遍历CSV文件目录下的所有文件,如果文件后缀名是`.csv`,则打开该文件进行处理。
5. 对于每一行数据,使用`split()`方法将其分割成一个列表,然后取出列表中的第一个元素,即A列的数据。
6. 判断当前A列数据是否在集合中已经存在,如果不存在,则将其写入输出文件,并将其添加到集合中。
7. 处理完所有的CSV文件后,关闭输出文件。
希望这个代码示例能够帮助到您!