Сохранение нескольких файлов Excel по указанному пути с уникальными именами файлов c - PullRequest
0 голосов
/ 03 апреля 2020

В oop я настраиваю структуру CSV каждого файла.

Теперь я хочу, чтобы они сохранили в назначенную папку с уникальными именами файлов.

Я могу сохранить в Файл CSV, но затем файл CSV перезаписывается, что приводит только к окончательному измененному результату файла test5. Я хочу сохранить CSV в их собственном формате filename+string _modified.

У меня есть 5 файлов CSV: Test1.csv test2.csv test3.csv test4.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)

Теперь я через файлы oop манипулирую ими и сохраняю как DataFrame. Это работает нормально.

Теперь я хочу сохранить каждый файл отдельно в выходной папке с уникальным именем (имя файла + _modified)

Output = '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

Ответы [ 2 ]

0 голосов
/ 07 апреля 2020

Я нашел решение своей проблемы

df.to_csv (output + '\' + filename + '. Csv', sep = ';', header = False, index = False)

0 голосов
/ 03 апреля 2020

Я бы сделал что-то вроде этого, сделав новое имя перед вызовом, чтобы записать его:

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")
...