Глядя, чтобы решить возможность поиска арбитража, но есть проблемы с TXT и матрицы - PullRequest
0 голосов
/ 03 ноября 2018

Я хочу решить арбитражную проблему с использованием валют. Теперь у меня есть .txt со всеми биржами, но я хочу, чтобы они были похожи на матрицу, где элемент i, j - это обменный курс от валюты i к валюте j. НО, у меня в настоящее время есть .txt, как это:

.txt, как у меня

.txt like I have

Как я могу преобразовать этот .txt в 2D массив? Я хочу искать арбитражные возможности с минимальным процентом выигрыша без риска. Но сначала мне нужно смоделировать проблему, а затем использовать для нее Беллмана-Форда.

Большое спасибо!

PD: пользователь Python.

1 Ответ

0 голосов
/ 03 ноября 2018

Видя, что вы хотите это в двумерном массиве, я создал свой собственный текстовый файл с именем dic (сокращение от словаря, потому что я ненавижу печатать). Он содержит 2 строки и числовое значение:

a b 3
c d 6

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

#Opens txt doc and creates the file reference(which I named file), "r" means read
file = open("dic","r")
#making a blank Array call Arr
Arr =[]
#making variable conveniently called line, which iterates for each line from the txt file
for line in file:
#variable x, the part which then seperates the string into it's 3 parts
    x = line.split()
#creates the list of each item in the line and adds them
    vals = [n for n in x]
    Arr.append(vals)
print(Arr)
file.close()
print (float(Arr[1][2])+3)

Ключевым игроком во всем этом является метод разделения, который позволяет вам разделять части текстового файла. Будьте осторожны: числовые значения будут обрабатываться как строки, поэтому, если бы вы позже использовали их для математических целей, вам пришлось бы анализировать их как число с плавающей запятой, приведенный пример.

...