【发布时间】:2020-05-18 11:37:23
【问题描述】:
我在一个目录中有多个 CSV 文件,但没有标题。 我正在寻找一种强大的方法来一次将相同的标题添加到我目录中的所有文件中。
Sample.csv:
John Doe Guitar 4 units
添加标题“名称”、“产品”、“数量”后所需的输出:
name product quantity
John Doe Guitar 4 units
到目前为止,我找到了一种使用 pandas 将标题添加到单个文件中的方法:
from pandas import read_csv
df = read_csv('/path/to/my/file/Sample.csv')
df.columns = ['name', 'product', 'quantity']
df.to_csv('/path/to/my/file/output.csv')
现在我想我必须添加一个循环来读取我目录中的所有文件并在每个文件中添加所需的标题行。如果可能,有人可以帮助我完成此步骤或建议其他更简单的方法吗?提前谢谢你。
尝试添加循环但它抛出错误消息:
import pandas as pd
import os
import glob
from pandas import read_csv
path = '/path/to/my/files/'
filelist = glob.glob(path + "/*.csv")
frame = pd.DataFrame()
list = []
frame = pd.DataFrame()
#whenever i run the below line it throws this error -> IndentationError: expected an indented block
for file in filelist:
df2 = pd.read_csv(path+file)
df2.columns = ['name', 'product', 'qunatity']
list.append(df2)
frame = pd.concat(list)
【问题讨论】: