我有一个带有以下十六进制字符串的文本文件:-
ffffe7ba2cffffe7c52cffffe7c22cffffe7c12cffffe7c82cffffe7c62cffffe7b52cffffe7a02c
我想用定界符2c(每8个字符后出现在字符串中)分隔此字符串。
然后我想将子字符串存储在excel文件的一列中,所以excel文件看起来像:-
到目前为止,我已经能够使用以下(简陋的)代码打开文本文件,读取数据,用定界符2c对其进行拆分,并垂直将其写入excel文件:-< / p>
with open(inputfilename, 'r') as myfile:
string1 = myfile.readline()
string2 = ((str((string1).split("2c"))).replace("'", ""))
with open(outputfilename, "a+") as myfile1:
myfile1.write(string2)
请提出如何分割字符串并将子字符串有效地写入excel文件中的列的方法。
谢谢!
编辑1:
几乎通过以下方式获得了它:-
with open(inputfilename, 'r') as text_file, open(outputfilename, 'a') as myfile:
for line in text_file:
string1 = str(line.split("2c"))
string2 = string1.replace("'", "")
myfile.write("%s" %string2)
myfile.write("\n")
除了“ \ n”不会将值写入excel文件中的换行符之外。
我什至以“ a”访问模式打开了excel文件,但是仍然垂直写入值。有什么建议吗?
答案 0 :(得分:1)
正如我在评论中警告的那样,您的分隔符可能是字节2c,而不是字符串“ 2c”。每8个字符分割可能会更容易:
with open(inputfilename, 'r') as myfile:
string1 = myfile.readline().strip().strip("'") # get rid of quotes
with open(outputfilename, "a+") as myfile1:
myfile1.write(",".join(
string1[i:i+8] for i in range(0, len(string1), 10)
))