Python Советы по формату письма Xlsx - PullRequest
0 голосов
/ 06 марта 2020

Я создал список и для l oop для итерации каждого элемента в нем, чтобы распечатать его в ячейку в Excel. Я использую openpyxl. Когда я впервые начал использовать его, используя такие простые выражения, как:

sheet["A1"] = "hello"

, в результате ячейка A1 прекрасно представляет значение приветствия без кавычек.

У меня есть такой код:

workbook = Workbook()
sheet = workbook.active
text = ["Whistle", "Groot", "Numbers", "Mulan", "Buddy Holly"]
other = [5, 8, 100, 120]
for i in range(1,len(text)+1):
    cell_letter = "A"
    cell_number = str(i)
    sheet[str((cell_letter + cell_number))] = str(text[i-1:i])

и записывает в соответствующие ячейки ячейки с итерациями по переменной «текст». Но когда я открываю файл, формат ['свист'] и ['G root']

Чего мне не хватает? Должен ли я передавать каждую итерацию в другую переменную, чтобы преобразовать ее из списка в кортеж, чтобы потом ее можно было записать?

Извините, если мой код кажется немного запутанным, я буквально только что узнал об этом последние несколько часов, и он (вроде) делает то, что мне нужно, за исключением формата записи.

1 Ответ

0 голосов
/ 06 марта 2020

Openpyxl позволяет вам написать список списков, где списки интернов представляют «строки» в файле xlsx.

Таким образом, вы можете хранить то, что хотите:

data_to_write = [["Whistle", "Groot", "Numbers", "Mulan", "Buddy Holly"]]

или, если вам нужны данные в следующей строке:

data_to_write = [["Whistle", "Groot", "Numbers"], ["Mulan", "Buddy Holly"]]

, добавьте их в свой рабочий лист:

for line in data_to_write:
    sheet.append(line)

и, наконец, сохраните их:

workbook.save("filename.xlsx")

Полный код может быть что-то вроде:

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

data_to_write = [["Whistle", "Groot", "Numbers", "Mulan", "Buddy Holly"]]

for line in data_to_write:
    sheet.append(line)

workbook.save('example.xlsx')

Попробуйте и затем, пожалуйста, дайте мне отзыв, XD

...