Как считать файл в массив питон
Перейти к содержимому

Как считать файл в массив питон

  • автор:

Как прочитать текстовый файл в список в Python (с примерами)

Вы можете использовать один из следующих двух методов для чтения текстового файла в список в Python:

Способ 1: Используйте open()

#define text file to open my_file = open('my_data.txt', 'r') #read text file into list data = my_file.read() 

Способ 2: использовать loadtxt()

from numpy import loadtxt #read text file into NumPy array data = loadtxt('my_data.txt') 

В следующих примерах показано, как использовать каждый метод на практике.

Пример 1: Чтение текстового файла в список с помощью open()

В следующем коде показано, как использовать функцию open() для чтения текстового файла с именем my_data.txt в список в Python:

#define text file to open my_file = open('my_data.txt', 'r') #read text file into list data = my_file.read() #display content of text file print(data) 4 6 6 8 9 12 16 17 19 

Пример 2: Чтение текстового файла в список с помощью loadtxt()

В следующем коде показано, как использовать функцию NumPy loadtxt() для чтения текстового файла с именем my_data.txt в массив NumPy:

from numpy import loadtxt #import text file into NumPy array data = loadtxt('my_data.txt') #display content of text file print(data) [ 4. 6. 6. 8. 9. 12. 16. 17. 19.] #display data type of NumPy array print(data. dtype ) float64 

Хорошая вещь в использовании loadtxt() заключается в том, что мы можем указать тип данных при импорте текстового файла с помощью аргумента dtype .

Например, мы можем указать текстовый файл для импорта в массив NumPy как целое число:

from numpy import loadtxt #import text file into NumPy array as integer data = loadtxt('my_data.txt', dtype='int') #display content of text file print(data) [ 4 6 6 8 9 12 16 17 19] #display data type of NumPy array print(data. dtype ) int64 

Примечание.Полную документацию по функции loadtxt() можно найти здесь .

Дополнительные ресурсы

Следующие руководства объясняют, как читать другие файлы в Python:

Как создать массив из текстовых файлов?

Нашел статью о пагинации. Там был упомянут массив текстов, ставших основой для бота.
Как преобразовать текстовые файлы в массив для последующего импорта для телеграм бота?

  • Вопрос задан более двух лет назад
  • 225 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 1

Ну, даже по статье не понял, что нужно, но если нужно преобразовать текстовый файл в массив построчно, то

with open("file.txt") as file: l = file.readlines()

Ответ написан более двух лет назад
Alpharius_Prog @Alpharius_Prog Автор вопроса
Давайте на примере объясню:
Вместо этого кода

def EN(message): if (message.text == "EN"): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) item11 = types.KeyboardButton("Choose category") item12 = types.KeyboardButton("FAQ") item13 = types.KeyboardButton("About") item14 = types.KeyboardButton("Payment instructions") item15 = types.KeyboardButton("Back") markup.add(item11,item12,item13,item14,item15) bot.send_message(message.chat.id,text = "EN", reply_markup=markup) elif (message.text == "Choose category"): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) item111 = types.KeyboardButton("History") item112 = types.KeyboardButton("Science") item113 = types.KeyboardButton("Arts") item114 = types.KeyboardButton("Back") markup.add(item111,item112,item113,item114) bot.send_message(message.chat.id,text = "Choose category", reply_markup=markup) elif (message.text == "FAQ"): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) item122 = types.KeyboardButton("Back") markup.add(item122) text = """Text about TOP\-7 questions""" bot.send_message(message.chat.id,text,parse_mode = 'MarkdownV2',reply_markup=markup) elif (message.text == "Payment instructions"): markup = types.InlineKeyboardMarkup() item141 = types.InlineKeyboardButton("Binance", url = 'https://www.binance.com/en/support/faq/c-2?navId=2') item142 = types.InlineKeyboardButton("BlockChain",url = 'https://support.blockchain.com/hc/en-us/sections/4517566823060-Deposits-and-Withdrawals') item143 = types.InlineKeyboardButton("TrustWallet",url = 'https://community.trustwallet.com/t/how-to-create-a-payment-request/23332') markup.add(item141,item142,item143) bot.send_message(message.chat.id,text = "Choose your Wallet", reply_markup=markup) elif (message.text == "Back"): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) item11 = types.KeyboardButton("Choose category") item12 = types.KeyboardButton("FAQ") item13 = types.KeyboardButton("About") item14 = types.KeyboardButton("Payment instructions") item15 = types.KeyboardButton("Back") markup.add(item11,item12,item13,item14,item15) bot.send_message(message.chat.id,text = "You returned to the menu", reply_markup=markup) elif (message.text == "Science"): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) item1221 = types.KeyboardButton("Back") markup.add(item1221) a = open('extract.txt',"r",encoding="utf-8") text=a.read() text1 = '*Use this link for access to the full version of the text*\n'+'*[Binance](https://link.trustwallet.com/send?coin=0&address=bc1q83d2jeh58cv66h6kglr33dgwex6krekdg5uwsa)*' bot.send_message(message.chat.id,text) bot.send_message(message.chat.id,text=text1,parse_mode='MarkdownV2')

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

Вы имеете ввиду так?

arr = [ open("file1.txt"), open("file2.txt"), ] print(arr[0].read())

Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python
  • +1 ещё

При импортировании executor выдаёт ошибку Cannot find reference ‘executor’ in ‘__init__.py’?

  • 1 подписчик
  • 13 минут назад
  • 15 просмотров

Чтение из файла построчно и запись в массив

Как открыть, прочитать файл построчно и записать строки из файла с массив?

Отслеживать

6,459 4 4 золотых знака 35 35 серебряных знаков 57 57 бронзовых знаков

задан 6 июл 2016 в 17:49

JamesJGoodwin JamesJGoodwin

3,956 6 6 золотых знаков 41 41 серебряный знак 77 77 бронзовых знаков

хммм. странно вы ищете.

6 июл 2016 в 17:51

ассоциация: stackoverflow.com/questions/3277503

14 мар 2017 в 19:04

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

with open("file.ext") as file: array = [row.strip() for row in file] 

Выражение with обеспечит закрытие файла после окончания работы. Выражение, создающее array называется генератором списков (list comprehension). Внутри него перебираются строки, оно равносильно:

for line in file.readlines(): # blah-blah 

Ну а метод strip() удаляет с конца и начала строки лишние пробелы, в том числе символ окончания строки. В случае, если нет необходимости обрезать пробельные символы в начале строки, можно использовать rstrip()

Как считать из файла массив питон

Для записи в массив строк из файла используем контекстный менеджер и генератор списков:

with open("file.ext") as file: array = [row.strip() for row in file] 

Внутри генератора списка перебираем строки в файле и удаляем с конца и начала строки лишние пробелы, в том числе символ перевода строки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *