pandas.read_clipboard читает только целые строки, а не столбцы - PullRequest
0 голосов
/ 11 января 2019

Я перенес все свои коды python3 из macOS в Ubuntu 18.04, и в одной программе мне нужно использовать pandas.clipboard(). На данный момент в буфере обмена есть список с несколькими строками и столбцами, разделенными табуляцией и каждым элементом в кавычках.

После просто попытки

import pandas as pd
df = pd.read_clipboard()

Я получаю эту ошибку: pandas.errors.ParserError: Expected 8 fields in line 3, saw 11. Error could possibly be due to quotes being ignored when a multi-char delimiter is used.. И строка 3 выглядит как "word1" "word2 and another" "word3" .... Без кавычек вы насчитываете 11 элементов, а в кавычках - 8.

На следующем шаге я попробовал

import pandas as pd
df = pd.read_clipboard(sep='\t')

и я не получаю ошибок, но в результате получается только в Серии с каждой строкой источника буфера обмена в одном элементе .

Да, возможно, это решение написать код для разделения каждого элемента строки после этого шага, но поскольку он очень хорошо работает под macOS (всего с pd.read_clipboard()), я надеюсь, что есть лучшее решение.

Спасибо за помощь.

1 Ответ

0 голосов
/ 12 января 2019

Я написал «поворот» для моего вопроса. Это не точное решение , а потому что мне просто нужны элементы одного столбца в массиве Я решил это так:

import pyperclip

# read clipboard
cb = pyperclip.paste()

# lines in array
cb_arr = cb.splitlines()

column = []

for cb_line in cb_arr:

    # words in array
    cb_words = cb_line.split("\"")

    # pick element of column 1
    word = cb_words[1]

    column.append(word)

# delete column name
column.pop(0)

print(column)

Может быть, это поможет кому-то еще.

...