首页 > 解决方案 > 如何删除 csv 文件中除我输入的列之外的所有列?

问题描述

all_filenames = [i for i in glob.glob("/home/greenvulcano/Scrivania/File_csv/*.csv")]
dest_file = "/home/greenvulcano/Scrivania/Unione_files.csv"

tag = ["inclination","deformation","temperature"]

content = []
for file_name in sorted(all_filenames):
    with open(file_name, "r") as f:
        lines = f.readlines()
    for i, l in enumerate(lines):
        if len(content) == 0:
            content.append(l)
        elif i != 0:
            content.append(l)


with open(dest_file, "w") as f:
    f.writelines(content)    
seleziona = input("Inserisci le colonne che vuoi visualizzare: ")    with open(dest_file, "r") as f:
    titoli = f.readline().split(",")
    indici = []
    for titolo in titoli:
        titolo_split = titolo.split('*')
        if seleziona in titolo_split:
            indice = titoli.index(titolo)
            indici.append(indice)
    righe = f.readlines()
    lista = []
    for riga in righe:
        rigasplit = riga.split(",")
        for i in indici:
            lista.append(rigasplit[i])

标签: pythoncsv

解决方案


我想你可以使用:

测试.csv

id,name,dob
1,pedro,2000-01-01
2,nuno,1999-01-01

import csv
csv_file = "test.csv"
seleziona = input("Inserisci le colonne che vuoi visualizzare: ").strip()
with open(csv_file) as f:
    reader = csv.DictReader(f, delimiter=',')
    for row in reader:
        print(row[seleziona])

pedro
nuno

演示


推荐阅读