Python:通过定界符分割字符串并写入excel文件中的列

时间:2018-12-17 15:30:21

标签: string python-3.x

我有一个带有以下十六进制字符串的文本文件:-

ffffe7ba2cffffe7c52cffffe7c22cffffe7c12cffffe7c82cffffe7c62cffffe7b52cffffe7a02c

我想用定界符2c(每8个字符后出现在字符串中)分隔此字符串。

然后我想将子字符串存储在excel文件的一列中,所以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文件,但是仍然垂直写入值。有什么建议吗?

1 个答案:

答案 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)
    ))