首页 > 解决方案 > 如何批量删除 CSV 文件中的列中不需要的信息?

问题描述

所以我最近将多个 csv 文件合并为一个。由于文件名是日期,因此我还包括“文件名”作为参考列。但是,文件名包含我不想包含的信息,例如时间和文件扩展名。作为初学者,我只熟悉导入和打印要查看的文件。建议使用什么代码在日期之后批量删除信息?

answer  filename
7       2018-04-12 21_01_01.csv
7       2018-04-18 18_36_30.csv
7       2018-04-18 21_01_32.csv
8       2018-04-20 15_21_02.csv
7       2018-04-20 21_00_44.csv
7       2018-04-22 21_01_05.csv

标签: pythonpython-3.xcsv

解决方案


在 python 中处理表格数据时,我强烈建议使用 pandas 包。

import pandas as pd
df = pd.read_csv("../test_data.csv")
def rem_part(string):
    return string.split(' ')[0]  # could also split on '.' if you want to keep the time
df['date'] = df['filename'].apply(rem_part)
df.drop('filename', axis = 1, inplace=True)  # remove the filename column if you so please
df.to_csv("output.csv"). # save the file as a new CSV or overwrite the old

test_data.csv文件包含以下内容:

answer,filename
7,2018-04-12 21_01_01.csv
7,2018-04-18 18_36_30.csv
7,2018-04-18 21_01_32.csv
8,2018-04-20 15_21_02.csv
7,2018-04-20 21_00_44.csv
7,2018-04-22 21_01_05.csv

推荐阅读