Как я могу изменить формат списка номеров IMEI, чтобы включить пробелы? - PullRequest
0 голосов
/ 29 апреля 2018

Хорошо, поэтому в основном у меня есть CSV-файл со списком телефонов и их номера IMEI, который состоит из 15-значного номера - в настоящее время отформатирован так, как «000000000000000», и мне нужно взять этот список из CSV и сгенерировать выходной формат IMEI на «00 000000 000000 0» Пробел после первых 2 цифр, один пробел после следующих шести и, наконец, пробел перед последней, но я не уверен, как это сделать: (

import csv

file_csv = input("enter file name: \n")
phone_imei=[]

with open(file_csv, "r") as f:
reader = csv.reader(f, delimiter = ',')
for row in reader:
    phone_imei.append(row[3])  # list of IMEI in this row#
location_file.close()

print(phone_imei)

1 Ответ

0 голосов
/ 29 апреля 2018

Мое начальное предположение - вы можете получить список строк из вашего csv файла в список phone_imei.

Для желаемого формата строки необходимо использовать нарезку / индексацию строки. Удобно, что это то же самое, что и для списков, поэтому смотрите Понимание нотации Python для срезов .

Вот один пример:

x = "123456789123456"
res = x[:2] + ' ' + x[2:8] + ' ' + x[8:14] + ' ' + x[14]

'12 345678 912345 6'

Вы можете включить эту логику несколькими способами.

По ходу дела ...

def string_formatter(x):
    """Format telephone number with spaces."""
    return x[:2] + ' ' + x[2:8] + ' ' + x[8:14] + ' ' + x[14]

for row in reader:
    phone_imei.append(string_formatter(row[3]))

В конце ...

phone_imei = list(map(string_formatter, phone_imei))
# equivalently, phone_imei = [string_formatter(i) for i in phone_imei]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...