gpt4 book ai didi

python - 使用 Pandas 在选项卡中的单个 csv 表中添加多个 csv

转载 作者:行者123 更新时间:2023-12-04 11:50:57 27 4
gpt4 key购买 nike

我有多个 csv 文件,比如说 a.csv , b.csv 。我想要新的 c.csv 中的 a.csv 和 b.csv 。两个新的 csv 都应该在里面的选项卡中。我只想在 tabs 中添加两个 csv 。在 Pandas 中有没有什么捷径可以做到这一点。我有下面的代码,但它没有给出任何输出,但是它正在执行。尝试检查 stackoverflow 中的一些帖子,但不知何故我没有得到想要的输出。请帮助我一些更好的解决方案。

folders=next(os.walk('.'))[1]
for host in folders:
Path=os.path.join(os.getcwd(),host)
all_files = glob.glob(os.path.join(Path, "*.csv"))
df_from_each_file = (pd.read_csv(f) for f in all_files)
df = pd.concat(df_from_each_file, ignore_index=True)
df.to_csv('c.csv,' index=False)

最佳答案

CSV 文件实际上只是一张纸。 Excel xlsx文件虽然确实支持工作表。可以使用 ExcelWriter 使 Pandas 直接写入 Excel 文件。 .像下面这样的东西应该做你需要的:

import pandas as pd
import xlsxwriter
import glob
import os

writer = pd.ExcelWriter('multi_sheet.xlsx', engine='xlsxwriter')
folders = next(os.walk('.'))[1]

for host in folders:
Path = os.path.join(os.getcwd(), host)

for f in glob.glob(os.path.join(Path, "*.csv")):
print(f)
df = pd.read_csv(f)
df.to_excel(writer, sheet_name=os.path.basename(f)[:31])

writer.save()

对于在您的文件夹中找到的每个 CSV 文件,将创建一个新的 Excel 工作表。工作表的名称是 CSV 文件的名称,例如 a.csv会有工作表名称 a .

注意:Excel 的工作表名称限制为 31 个字符。

关于python - 使用 Pandas 在选项卡中的单个 csv 表中添加多个 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50522258/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com