Как я могу преобразовать dataframe строк в CSV в python? - PullRequest
2 голосов
/ 19 апреля 2020

Я создал программу, которая выбирает имена всех файлов в каталоге, используя python glob package

import glob

path = 'D:\Movies\American and Brit Cinema'

files = [f for f in glob.glob(path + "**/*.avi", recursive=True)]

for f in files:
    print(f[35:])

Я получаю желаемый вывод:

The.Descendants.2011.
The.Expendables.2010.
The.Hangover.2009
The.Impossible.2012
the.invention.of.lying.2009
The.Muppets.2011.
The.Social.Network.2010
Tron.Legacy.2010

Однако Я хочу взять этот список названий mov ie и экспортировать его в csv

. При попытке получить следующую ошибку:

    f.to_csv('EnglishMovies.docx')

AttributeError: 'str' object has no attribute 'to_csv'

Я попытался преобразовать в список как хорошо, но я просто получаю грязные данные. Я просто хочу, чтобы в моем окончательном CSV-файле были имена всех файлов в моем каталоге

Ответы [ 3 ]

2 голосов
/ 19 апреля 2020

Использовать csv модуль

import csv

with open('output.csv',  mode='w') as csvfile:
    writer = csv.writer(csvfile, delimiter=',', quoting=csv.QUOTE_MINIMAL)
    for f in files:
        writer.writerow([f])
0 голосов
/ 19 апреля 2020

Если вы хотите использовать метод .to_csv, вы можете создать фрейм данных и затем записать его в CSV.

import glob
import pandas as pd

path = 'D:\Movies\American and Brit Cinema'
files = [f for f in glob.glob(path + "**/*.avi", recursive=True)]
df = pd.DataFrame(columns = ['Movie Names'])
df['Movie Names'] = files
df['Movie Names'] = df['Movie Names'].str[35:]
df.to_csv(path + '\EnglishMovies.csv')

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

Вы можете открыть файл .csv напрямую и записать в него.

with open("path_to_csv/movies.csv", "w") as fp:
    for f in files:
        fp.write(f+"\n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...