У меня есть файл CSV с 4 столбцами, первый столбец case id
(что повторяется).Запись Python pandas dataframe строк в файл
========INPUT csv file=============
case_num, serial,binary,review
23,29983, 1, "lorem ipsum ,lorem ipsum"
23,298829, 1, "Hi there"
29, 20020, 0, "hickery dickery dock"
29,298829, 1, "Hello there"
29, 28220, 0, "dickery dock"
Я пытаюсь отфильтровать все строки только на основе уникального числа идентификаторов.
input=pandas.read_csv("inp.csv")
case_id=fl["case_num"]
case_id.sort
with open("out.csv","w") as fl:
for i in case_id.unique():
fl.write(([input['case_num']==i].iloc[0].values))
Выход:
[23 '29983' 1
'lorem ipsum ,lorem ipsum'] #<type 'numpy.ndarray'>
[29 '20220' 0
'hickery dickery dock'] #<type 'numpy.ndarray'>
Как вы можете видеть, что вывод записывается в разных строках, но я хочу, чтобы они должным образом в одной строке каждой линии разделения запятой.
===== ХОЧЕТ ВЫХОДА =======
23, '29983', 1, 'lorem ipsum ,lorem ipsum'
29 ,'20220', 0, 'hickery dickery dock'
Проще говоря, если я прочитал несколько строк из dataframe (генерируется с помощью файла CSV), то как я пишу выбранное подмножество строк точно в том же формате (что и файл ввода csv) в выходной файл csv.
Пожалуйста, покажите ваш желаемый результат, неясно точно, что вы после – EdChum
@EdChum пожалуйста, проверьте, есть добавлен желаемый результат. В основном, как вы выбираете строку из dataframe (заполненную из csv-файла) и записываете вывод точно так же, как и во входном файле. – shalini
Можете ли вы добавить образец вашего входного файла? – jezrael