我想在Python中存储DNA的字符数组,每个单词作为每个元素。
例如,我想更改
Option Explicit
Public Sub Move_info_UPDT()
Dim objWord As Object
Dim objDoc As Object
Dim ProcessRange As Range
Set ProcessRange = Selection
Dim i As Long
For i = ProcessRange.Row To ProcessRange.Rows.Count + ProcessRange.Row - 1
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add(Template:="C:\Users\grusa\Desktop\test2.dotx", NewTemplate:=False, DocumentType:=0)
With objDoc
'I need it to be cell from the same row loop currently is
' now this line move info to first doc from C1, to second from C2 and etc.
.ContentControls.Item(1).Range.Text = ProcessRange.Parent.Cells(i, "C").Value
End With
objWord.Visible = True
Application.StatusBar = "Progress: " & i - ProcessRange.Row + 1 & " of " & ProcessRange.Rows.Count
DoEvents 'keep Excel responsive
Next i
Application.StatusBar = ""
End Sub
转换为2D矩阵形式,每个元素存储一个字符。我想到了 numpy ,但我认为它可能不适用于这些字符串。
Python的最佳方法是什么?
答案 0 :(得分:3)
最简单的简单答案是使用列表列表:
a = "cctgatagacgctatctggctatccaggtacttaggtcctctgtgcgaatctatgcgtttccaaccat"
b = "agtactggtgtacatttgatccatacgtacaccggcaacctgaaacaaacgctcagaaccagaagtgc"
matrix = [list(a), list(b)]
print(matrix)
[
['c', 'c', 't', 'g', 'a', 't', 'a', 'g', 'a', 'c', 'g', 'c', 't', 'a', 't', 'c', 't', 'g', 'g', 'c', 't', 'a', 't', 'c', 'c', 'a', 'g', 'g', 't', 'a', 'c', 't', 't', 'a', 'g', 'g', 't', 'c', 'c', 't', 'c', 't', 'g', 't', 'g', 'c', 'g', 'a', 'a', 't', 'c', 't', 'a', 't', 'g', 'c', 'g', 't', 't', 't', 'c', 'c', 'a', 'a', 'c', 'c', 'a', 't'],
['a', 'g', 't', 'a', 'c', 't', 'g', 'g', 't', 'g', 't', 'a', 'c', 'a', 't', 't', 't', 'g', 'a', 't', 'c', 'c', 'a', 't', 'a', 'c', 'g', 't', 'a', 'c', 'a', 'c', 'c', 'g', 'g', 'c', 'a', 'a', 'c', 'c', 't', 'g', 'a', 'a', 'a', 'c', 'a', 'a', 'a', 'c', 'g', 'c', 't', 'c', 'a', 'g', 'a', 'a', 'c', 'c', 'a', 'g', 'a', 'a', 'g', 't', 'g', 'c']
]
现在是否适合您,取决于您计划如何使用它,数据集将要达到的大小,性能和内存使用约束等,在您的问题中都没有提及...
答案 1 :(得分:1)