遍历文件夹文件删除CSV文件的第11到197行保存
时间: 2023-12-21 17:03:45 浏览: 62
以下是Python代码实现:
```python
import os
# 遍历文件夹
for root, dirs, files in os.walk("folder_path"):
for file in files:
if file.endswith(".csv"):
# 打开CSV文件
with open(os.path.join(root, file), "r") as f:
lines = f.readlines()
# 删除第11到197行
del lines[10:196]
# 保存CSV文件
with open(os.path.join(root, file), "w") as f:
f.writelines(lines)
```
其中,将"folder_path"替换为要遍历的文件夹的路径。这段代码将遍历该文件夹及其子文件夹中的所有CSV文件,并删除每个文件的第11到197行,然后保存修改后的文件。
相关问题
读取文件夹中csv文件的第三列的第二到第四个以及第七到第十个字符保存到两个变量中并输出文件名
好的,我理解了您的问题。以下是我给出的 Python 代码实现:
```python
import os
import csv
# 文件夹路径
folder_path = "/path/to/folder"
# 遍历文件夹中的所有csv文件
for filename in os.listdir(folder_path):
if filename.endswith(".csv"):
file_path = os.path.join(folder_path, filename)
with open(file_path, newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
# 检查是否有第三列
if len(row) >= 3:
# 获取第三列的第二到第四个以及第七到第十个字符
col_3_part_1 = row[2][1:4]
col_3_part_2 = row[2][6:10]
# 输出文件名和提取的内容
print(f"{filename}: {col_3_part_1}, {col_3_part_2}")
```
这段代码会遍历指定文件夹中的所有csv文件,并且对于每个文件,会读取它的每一行,提取第三列的第二到第四个以及第七到第十个字符,并输出文件名和提取的内容。请注意,这个实现假设每个csv文件都有至少三列。
在Linux服务器中,一个文件夹里有十个文件,十个文件的扩展名均为.fa,现在十个文件的文件名为csv文件里第五列的内容,需要把这十个文件根据csv文件里第五列的内容重新命名,要求命名格式为:第四列::第五列::第二十五列::第十七列::第二十六列::第十列
可以使用以下的 Python 代码来实现:
```python
import csv
import os
# 打开 csv 文件
with open('example.csv', 'r') as csvfile:
# 解析 csv 文件
reader = csv.reader(csvfile)
# 跳过第一行(表头)
next(reader)
# 遍历每一行
for row in reader:
# 构建旧文件名和新文件名
old_name = row[4] + '.fa'
new_name = row[3] + '::' + row[4] + '::' + row[24] + '::' + row[16] + '::' + row[25] + '::' + row[9] + '.fa'
# 重命名文件
os.rename(old_name, new_name)
```
其中,将 `example.csv` 替换为实际的 csv 文件名。此代码读取 csv 文件并遍历每一行,利用 csv 文件中的字段构建新的文件名,并使用 `os.rename` 函数将文件重命名。
阅读全文