Python: запись в файл CSV из итерации через Pandas Dataframe - PullRequest
0 голосов
/ 12 октября 2018

Я новичок в Python.Как я могу записать в CSV-файл, перебирая DataFrame?

readCSV1 = pd.read_csv(r'ProductDetails1.csv')
df1 = DataFrame(readCSV1)

for index, row in df1.iterrows():
print(index, row['SKU'], row['SKU'],row['Title'],row['Cost'],row['Weight 
    Value'],row['Weight Unit']...............)

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

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Вы не должны писать в файл CSV построчно.Это очень неэффективно.Вместо этого вы должны очистить / ограничить ваш фрейм данных содержимым, которое вы хотите записать, и затем вызвать pd.DataFrame.to_csv() все сразу.

Например:

df = pd.read_csv(r'ProductDetails1.csv')

#Refine your dataframe here
refined_df = df[['SKU','Title','Close','Weight Value','Weight Unit']]

refined_df.to_csv(r'ProductDetails1.csv', index=False)
0 голосов
/ 12 октября 2018

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

Не вносите эти корректировки при написании ваш файл CSV.Внесите коррективы в сам кадр данных до , который вы экспортируете в CSV.Затем используйте специально созданный метод pd.DataFrame.to_csv.

Например, вы можете выбрать определенные столбцы в определенном порядке перед экспортом:

df = df[['SKU', 'SKU', 'Title', 'Cost']]
df.to_csv('file.csv', index=False)

Комув других аргументах ", создайте новые столбцы с помощью соответствующей логики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...