给定一个文件夹,其中包含多个具有不同列长度的csv文件
必须使用python将它们合并到单个csv文件中,并将文件名打印为一列。
输入:https://www.dropbox.com/sh/1mbgjtrr6t069w1/AADC3ZrRZf33QBil63m1mxz_a?dl=0
输出:
Id Snack Price SheetName
5 Orange 55 Sheet1
7 Apple 53 Sheet1
8 Muskmelon 33 Sheet1
11 Orange Sheet2
12 Green Apple Sheet2
13 Muskmelon Sheet2
您可以使用:
files = glob.glob('files/*.csv')
dfs = [pd.read_csv(fp).assign(SheetName=os.path.basename(fp).split('.')[0]) for fp in files]
df = pd.concat(dfs, ignore_index=True)
print (df)
Id Price SheetName Snack
0 11 NaN Sheet 2 Orange
1 12 NaN Sheet 2 Green Apple
2 13 NaN Sheet 2 Muskmelon
3 5 55.0 Sheet1 Orange
4 7 53.0 Sheet1 Apple
5 8 33.0 Sheet1 Muskmelon
编辑:
dfs = []
for fp in files:
df = pd.read_csv(fp).assign(SheetName=os.path.basename(fp).split('.')[0])
#another code
dfs.append(df)
假设是Spark中的一个数据文件。将写入单个CSV文件的方法是 任何帮助都很感激。
问题内容: 我有一个包含数千个.txt文件的文件夹。我想根据以下模型将它们合并到一个大的.csv文件中: 我发现应该执行此工作的R脚本(https://gist.github.com/benmarwick/9265414),但它显示此错误。 我不明白我的错是什么。 没关系,我很确定没有R也可以做到这一点。如果您知道一个非常优雅和简单的方法,将不胜感激(这对像我这样的很多人很有用) 精度:文本文件为
我有一些具有相同列标题的CSV文件。例如 文件A 文件B 我想合并它,以便将数据合并到一个文件中,标题在顶部,但其他地方没有标题。 实现这一目标的好方法是什么?
每个月我都会以csv格式下载整个分类账并将其保存到文件夹中。如何在熊猫中将其作为单个数据帧读取
我正在寻找一个批处理文件合并所有CSV文件在一个特定的文件夹与行"LF"结束。 下面的脚本创建了一个带有“CRLF”EOL的输出文件,但是我的自动数据加载程序只接受“LF”EOL。 此外,我想在输出文件中有一个头。 帮助将不胜感激,因为我已经浪费了足够的时间寻找解决方案。 这就是我在下面尝试的。
问题内容: 我的文件夹上有多个csv文件。列标题不同,但列数据相同。 括号内的数字是实际的列名。项目(67)67是列名 因此,忽略字符串Item,仅考虑int()中的int并执行操作。 样本文件:https : //drive.google.com/open?id=1q7c1AqCRKRufSVh– 9o0W6rdz28QyBGa 说明: 驱动器上的文件应附加在一起。基于列名称的“启用条件”。如果