Создание столбцов на основе элементов OrderID

Я пишу этот ответ 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')

, и это работало для меня для пропуска дополнительных строк перевода строк.

1
задан Bill Karwin 15 January 2019 в 17:10
поделиться

2 ответа

попробуйте этот SELECT OrderID, случай, когда item = Apple, затем вес заканчивается как яблоко, случай, когда item = Banana, а вес заканчивается как Banana, случай, когда item = Orange, а вес заканчивается как orange, ..., местоположение из вашей таблицы ]

0
ответ дан maddy 15 January 2019 в 17:10
поделиться

Вам, кажется, нужна условная агрегация:

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
0
ответ дан GMB 15 January 2019 в 17:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: