Как получить отдельные значения из одной ячейки с несколькими значениями в ней, разделенными запятыми, используя xlrd в Python? - PullRequest
1 голос
/ 06 мая 2019

Итак, допустим, у меня есть столбец в Excel с именем names, а затем в первой ячейке - «Джордж, Билл, Салли». Как с помощью xlrd я бы отделил эти значения и напечатал их на Python.

csv_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + 
"\FilePath\\"
file_location = csv_dir + "filename"
wb = xlrd.open_workbook(file_location)
sheet = wb.sheet_by_index(0)
for row in range(1, sheet.nrows):
    name = sheet.cell_value(row, 0)
    print(name)

Так что сейчас я получаю Джорджа, Билла и Салли в результате. Я хочу распечатать как:

George 
Bill
Sally

С каждым именем печатается по одной строке за раз. По сути, я хочу напечатать три разные строки, каждая из которых представляет одно имя вместо одной строки для всех трех имен.

1 Ответ

0 голосов
/ 07 мая 2019

, если вы просто хотите распечатать, используйте str.replace()

for row in range(1, sheet.nrows):
    name = sheet.cell_value(row, 0)
    print(name.replace(',', '\n').replace(' ', ''))

, если вы хотите поместить значения в список, используйте str.split()

for row in range(1, sheet.nrows):
    name = sheet.cell_value(row, 0)
    as_list = name.replace(' ', '').split(',')  # the replace is to remove any spaces
    print(*as_list, sep='\n')
...