用python删除多个csv文件的前2行

2024-04-23 11:58:52 发布

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

我有一个csv文件的目录(有几个子文件夹)。在将csv文件上载到数据库(SQL server)之前,我要删除所有csv文件的前2行。我从以下python脚本开始,在一个文件夹(没有子文件夹)中的一小部分csv文件上开始,虽然脚本运行成功,但是没有从文件中删除行。我错过了什么:

import glob
import csv

myfiles = glob.glob("C:\Data\*.csv")
for file in myfiles:
    lines = open(file).readlines()
    open(file, 'w').writelines(lines[1:])

以下是我的示例数据:

^{pr2}$

我想与编辑的输出csv文件保持相同的目录结构。 任何帮助将不胜感激。在


Tags: 文件csvimport目录脚本文件夹数据库sql
1条回答
网友
1楼 · 发布于 2024-04-23 11:58:52

试试这个:

import os

# Change this to your CSV file base directory
base_directory = 'C:\\Data'    
for dir_path, dir_name_list, file_name_list in os.walk(base_directory):
    for file_name in file_name_list:
        # If this is not a CSV file
        if not file_name.endswith('.csv'):
            # Skip it
            continue
        file_path = os.path.join(dir_path, file_name)
        with open(file_path, 'r') as ifile:
            line_list = ifile.readlines()
        with open(file_path, 'w') as ofile:
            ofile.writelines(line_list[2:])

注意:不要将file用作变量名,否则会破坏内置类。在

相关问题 更多 >