将多个 Excel 文件保存到具有唯一文件名的特定路径

Posted

技术标签:

【中文标题】将多个 Excel 文件保存到具有唯一文件名的特定路径【英文标题】:Saving multiple Excel Files to a Specific Path with Unique Filenames 【发布时间】:2020-04-03 09:30:52 【问题描述】:

我会循环调整每个文件的 CSV 结构。

现在我希望它们以唯一的文件名保存到分配的文件夹中。

我可以保存到 CSV 文件,但是 CSV 文件会被覆盖,导致只有 test5 文件的最终修改结果。我想以自己的filename+string _modified 格式保存CSV。

我有 5 个 csv 文件: 测试1.csv 测试2.csv test3.csv 测试4.csv test5.csv

我导入它们:

for x in allFiles:
    print(x)
    stop=1
    with open(x, 'r') as thecsv:
        base=os.path.basename(ROT)
        filename=os.path.splitext(base)[0]
        print(name)

现在我遍历文件操作它们并将其保存为DataFrame。 这工作正常。

现在我想将每个文件分别保存在具有唯一名称(文件名 + _modified)的输出文件夹中

输出='J:\Temp\Output'

这是我尝试过的:

df2.to_csv(output+filename+'//_modified.csv'),sep=';',header=False,index=False)

也试过了:

df2.to_csv(output(os.path.join(name+'//_modified.csv'),sep=';',header=False,index=False)

希望输出文件夹如下所示:

test1_modified.csv

test2_modified.csv

test3_modified.csv

test4_modified.csv

test5_modified.csv

【问题讨论】:

【参考方案1】:

我会做这样的事情,在调用之前取一个新名字把它写出来:

testFiles = ["test1.csv", "test2.csv", "test3.csv",
             "test4.csv", "test5.csv"]

# iterate over each one
for f in testFiles:
    # strip old extensions, replace with nothing
    f = f.replace(".csv", "")
    # I'd use join but you can you +
    newName = "_".join([f, "_modified.csv"])
    print(newName)
    # make your call to write it out

我还会检查 pandas 文档是否写出来,它比您尝试的要简单:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html

import pandas as pd 

# read data 
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
# write data to local
iris.to_csv("iris.csv")

【讨论】:

感谢您的帮助它对我不起作用.. 我只想在输出位置保存多个 csv 文件。每个都有一个唯一的名称 什么具体不起作用?如果你给它提供真实的文件,它应该可以工作。你仍然需要用熊猫等打开它们。如果您将文件名放在列表中,您应该能够以这种方式进行操作。【参考方案2】:

我找到了解决问题的方法

df.to_csv(输出+'\'+文件名+'.csv',sep=';',header=False,index=False)

【讨论】:

以上是关于将多个 Excel 文件保存到具有唯一文件名的特定路径的主要内容,如果未能解决你的问题,请参考以下文章

如何将Excel文件保存到C#的特定位置?

VBA:默认情况下将具有名称的文件保存在特定文件夹中

python工具 - 从文件名读取特定信息到excel表格

VBA:默认情况下,将具有名称的文件保存在特定的文件夹中

Matlab:如何将 Excel 文件保存到特定文件夹而不是当前文件夹?

使用 Jupyter notebook 将具有多个工作表的 Excel 文件转换为多个 csv 文件