python将当前目录所有扩展名为.txt的文件批量修改成.csv
时间: 2024-03-12 19:43:57 浏览: 71
好的,这个问题也比较简单。你可以使用以下代码来实现:
```python
import os
# 获取当前目录下所有扩展名为 .txt 的文件列表
txt_files = [f for f in os.listdir('.') if f.endswith('.txt')]
# 遍历文件列表,将文件名中的 .txt 替换为 .csv,并重命名文件
for txt_file in txt_files:
csv_file = txt_file.replace('.txt', '.csv')
os.rename(txt_file, csv_file)
```
这段代码首先使用 `os.listdir` 函数获取当前目录下所有扩展名为 .txt 的文件列表。然后遍历文件列表,将每个文件名中的 .txt 替换为 .csv,并使用 `os.rename` 函数重命名文件。
请注意,这段代码将修改当前目录下所有扩展名为 .txt 的文件。如果你只想修改特定目录下的文件,请将 `.` 替换为目录路径。
相关问题
用python写一段代码 为批量生成随机信息存入CSV文件 批量生成50个人的随机信息,包括姓名,性别、年龄和成绩等。( 提示:c=chr(random.randint(65, 90))可以生成随机大写英文) 1)把生成的信息写入csv文件info.csv。 2)读取info.csv文件,将每一个不及格(成绩小于60)的同学信息存放在以该同学姓名命名的文件中,这些文件使用dat作为扩展名
以下是代码实现:
```python
import csv
import random
# 生成50个人的随机信息
data = []
for i in range(50):
name = ''.join([chr(random.randint(65, 90)) for j in range(6)]) # 生成随机姓名
gender = random.choice(['男', '女']) # 随机性别
age = random.randint(18, 25) # 随机年龄
score = random.randint(0, 100) # 随机成绩
data.append([name, gender, age, score])
# 将信息写入csv文件
with open('info.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['姓名', '性别', '年龄', '成绩'])
for row in data:
writer.writerow(row)
# 读取csv文件,将不及格同学信息存放在以该同学姓名命名的文件中
with open('info.csv', 'r') as f:
reader = csv.reader(f)
next(reader) # 跳过表头
for row in reader:
if int(row[3]) < 60:
name = row[0]
with open(f'{name}.dat', 'w') as file:
file.write(f'姓名:{row[0]}\n性别:{row[1]}\n年龄:{row[2]}\n成绩:{row[3]}')
```
首先用一个循环生成50个人的随机信息,包括姓名、性别、年龄和成绩。然后将这些信息写入csv文件中。
接着读取csv文件,如果某个同学的成绩小于60,就将该同学的信息存放在以其姓名命名的dat文件中。在这里,我们使用csv模块读取csv文件,以及字符串格式化操作来生成文件名及文件内容。
python 批量生产csv
在Python中,你可以使用`csv`模块来批量生成CSV文件。下面是一个简单的示例代码,演示了如何使用`csv`模块来生成一个包含多行数据的CSV文件:
```python
import csv
# 定义要写入CSV文件的数据
data = [
['Name', 'Age', 'City'],
['John', '25', 'New York'],
['Alice', '30', 'San Francisco'],
['Bob', '35', 'Chicago']
]
# 打开CSV文件,以写入模式创建一个文件对象
with open('output.csv', 'w', newline='') as file:
# 创建CSV写入器对象
writer = csv.writer(file)
# 使用writerow方法写入每一行数据
for row in data:
writer.writerow(row)
print("CSV文件生成成功!")
```
在上面的代码中,我们首先定义了要写入CSV文件的数据,其中每个子列表表示一行数据。然后,我们使用`open`函数打开一个名为`output.csv`的文件,并指定写入模式和`newline=''`参数来避免在Windows系统中出现额外的空行。接下来,我们创建了一个`csv.writer`对象,并使用`writerow`方法将每一行数据写入CSV文件。最后,我们打印出一条成功的消息。
你可以根据自己的需求修改数据和文件名,以及添加更多的行和列。这个示例只是一个简单的演示,你可以根据实际情况进行扩展和修改。
阅读全文