用python从pc中的一个路径中提取多个csv文件信息并同时操作
Extracting multiple csv file information from a path in pc with python and manipulate it at the same time
我有多个(比如超过 20/30)CSV 文件,名为 'ABCD.csv'、'EFGH.csv'、'IJKL.csv'、'MNOP.csv' 等 在我的文件夹路径 D:\sevenday 中。我想在每个 CSV 文件中添加一个名为 name 的列,并在 CSV 文件本身中添加它们各自的名称。让我们说,ABCD CSV 文件将有一个名为 name 的列,并且它将 ABCD 作为该列中的名称。我如何从 python 中的文件名中提取该字符串信息?有办法吗?
如果文件很少,有一些方法。但是我不知道如何一次提取很多这样的文件,因为每次一个一个地写很乏味。
csv_file = "ABCD.csv"
df = pd.read_csv(csv_file)
df["name"] = csv_file.replace(".csv","")
使用 glob
获取文件夹中的所有文件以列出,添加新列并写回:
import glob, os
files = glob.glob('D:/sevenday/*.csv')
for fp in files:
name = os.path.basename(fp)
df = pd.read_csv(fp)
df['name'] = name
df.to_csv(fp, index=False)
import glob
folder_path = 'D:\sevenday'
file_type = '\*.csv'
files = glob.glob(folder_path + file_type)
for csv_file in files:
df = pd.read_csv(csv_file)
df["name"] = csv_file.split("\")[-1].replace(".csv","")
df.to_csv(csv_file, index=False)
我有多个(比如超过 20/30)CSV 文件,名为 'ABCD.csv'、'EFGH.csv'、'IJKL.csv'、'MNOP.csv' 等 在我的文件夹路径 D:\sevenday 中。我想在每个 CSV 文件中添加一个名为 name 的列,并在 CSV 文件本身中添加它们各自的名称。让我们说,ABCD CSV 文件将有一个名为 name 的列,并且它将 ABCD 作为该列中的名称。我如何从 python 中的文件名中提取该字符串信息?有办法吗? 如果文件很少,有一些方法。但是我不知道如何一次提取很多这样的文件,因为每次一个一个地写很乏味。
csv_file = "ABCD.csv"
df = pd.read_csv(csv_file)
df["name"] = csv_file.replace(".csv","")
使用 glob
获取文件夹中的所有文件以列出,添加新列并写回:
import glob, os
files = glob.glob('D:/sevenday/*.csv')
for fp in files:
name = os.path.basename(fp)
df = pd.read_csv(fp)
df['name'] = name
df.to_csv(fp, index=False)
import glob
folder_path = 'D:\sevenday'
file_type = '\*.csv'
files = glob.glob(folder_path + file_type)
for csv_file in files:
df = pd.read_csv(csv_file)
df["name"] = csv_file.split("\")[-1].replace(".csv","")
df.to_csv(csv_file, index=False)