In [734]: alist1 = [['someting1', 'someting2', 'someting3', 'someting4'], ['someting else1', 'someting else2', 'someting else3', 'someting else4']]
In [735]: str(alist1)
Out[735]: "[['someting1', 'someting2', 'someting3', 'someting4'], ['someting else1', 'someting else2', 'someting else3', 'someting else4']]"
Подобный список можно сохранить как csv
, используя savetxt
:
In [736]: np.savetxt('strings.txt',alist1, delimiter=',', fmt='%s')
In [737]: cat strings.txt
someting1,someting2,someting3,someting4
someting else1,someting else2,someting else3,someting else4
Я мог бы указать ширину поля формата для выравнивания столбцов.
Также выберите разделитель, который не появляется в текстах.
В любом случае этот файл может быть загружен с помощью genfromtxt
.(Pandas CSV Reader также будет работать).
In [738]: np.genfromtxt('strings.txt', delimiter=',', dtype=str)
Out[738]:
array([['someting1', 'someting2', 'someting3', 'someting4'],
['someting else1', 'someting else2', 'someting else3',
'someting else4']], dtype='<U14')
Как правило, написание и чтение списков или ndarray
с их форматом str
не очень хорошая идея.Разбор может быть сложнее, и даже невозможен.Этот формат предназначен для удобочитаемости, а не для машинного анализа.
Как показывает другой ответ, json
является хорошим выбором для списков (и словарей).