从 Python 中的 csv 文件中删除第一列

Dan*_*nny 5 python csv file

我在 Python 中有以下代码从文件夹 in_folder 中的 csv 文件中删除第一行,然后将它们保存在文件夹 out_folder 中。现在我需要删除csv 文件第一列。有谁知道如何做到这一点?

import csv
import glob
import os
import shutil

path = 'in_folder/*.csv'
files=glob.glob(path)

#Read every file in the directory

x = 0 #counter

for filename in files:

    with open(filename, 'r') as fin:
        data = fin.read().splitlines(True)

        with open(filename, 'w') as fout:
            fout.writelines(data[1:])
            x+=1
            print(x)

dir_src = "in_folder"
dir_dst = "out_folder"


for file in os.listdir(dir_src):
    if x>0:
        src_file = os.path.join(dir_src, file)
        dst_file = os.path.join(dir_dst, file)
        shutil.move(src_file, dst_file)
Run Code Online (Sandbox Code Playgroud)

Rol*_* cq 10

您可以做的是使用,Pandas因为它可以实现 DataFrame 操作。

文件.csv

1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)

你的代码应该看起来像

import pandas as pd
df = pd.read_csv('file.csv')
# If you know the name of the column skip this
first_column = df.columns[0]
# Delete first
df = df.drop([first_column], axis=1)
df.to_csv('file.csv', index=False)
Run Code Online (Sandbox Code Playgroud)

文件.csv

2,3,4,5
2,3,4,5
2,3,4,5
Run Code Online (Sandbox Code Playgroud)

  • 它是“pd.read_csv”而不是“read_csv” (2认同)