对多个csv文件重复相同的过程

2024-04-19 04:53:27 发布

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

我是Python的初学者。我有大约1000个CSV文件(1.CSV,2.CSV….1000.CSV)。每个CSV文件有大约3000000000行和14个变量。我想首先使用每个CSV文件的相同过程清理每个CSV文件中的数据:

  1. 变量A和变量B之和
  2. 按排序日期计算C,如果一天C中的记录数大于50,则删除它。在

接下来,将清理后的数据保存到一个新的CSV文件中。最后,将1000个新的CSV文件追加到一个CSV文件中。在

我有一些代码如下,但它首先导入所有CSV文件,然后处理以清除数据,这是非常低效的。我想先清理每个CSV文件中的数据,然后附加新的CSV文件。有人能帮我吗?任何帮助都将不胜感激。在

enter image description here


Tags: 文件csv数据代码排序过程记录初学者
1条回答
网友
1楼 · 发布于 2024-04-19 04:53:27

这就是我从你的问题中了解到的。我阅读了所有的文件,并为求和添加了一个新列。然后,我命令日期,并删除任何大于50的值。之后,我保存更新。在执行此操作之前,您必须复制原始文件,或者可以使用其他文件名保存它们。在

import glob
import os
import pandas as pd

path = "./data/"
all_files = glob.glob(os.path.join(path, "*.csv")) #make list of paths

for file in all_files:
    # Getting the file name without extension
    file_name = os.path.splitext(os.path.basename(file))[0]
    df = pd.read_csv(file_name)
    df['new_column'] =  df['A']+ df['B']
    df.sort_values(by='C')
    df.drop(df.loc[df['C']>50].index, inplace=True)
    df.to_csv(file_name)

相关问题 更多 >