Я пишу этот ответ w.r.t. на python 3, поскольку у меня изначально была та же проблема.
Я должен был получить данные из arduino с помощью PySerial
и записать их в CSV-файле. Каждое чтение в моем случае заканчивалось на '\r\n'
, поэтому новая строка всегда разделяла каждую строку.
В моем случае опция newline=''
не работала. Потому что это показало некоторую ошибку, например:
with open('op.csv', 'a',newline=' ') as csv_file:
ValueError: illegal newline value: ''
Итак, казалось, что они не согласны с отсутствием новой строки здесь.
Увидев только один из ответов, я упомянул о терминаторе линии в объекте writer, например,
writer = csv.writer(csv_file, delimiter=' ',lineterminator='\r')
, и это работало для меня для пропуска дополнительных строк перевода строк.
попробуйте этот SELECT OrderID, случай, когда item = Apple, затем вес заканчивается как яблоко, случай, когда item = Banana, а вес заканчивается как Banana, случай, когда item = Orange, а вес заканчивается как orange, ..., местоположение из вашей таблицы ]
Вам, кажется, нужна условная агрегация:
SELECT
OrderID,
MAX(CASE WHEN item = 'apple' THEN weight END) Apple,
MAX(CASE WHEN item = 'banana' THEN weight END) Banana,
MAX(CASE WHEN item = 'orange' THEN weight END) Orange,
MAX(CASE WHEN item = 'grape' THEN weight END) Grape
Location
FROM samples
GROUP BY OrderID, Location