【发布时间】:2018-10-02 20:56:03
【问题描述】:
我有一个文本文件BM.txt内容如下:
*A0 0194 7F9E 00 0001 B7AB A0 0194 7F9E 00 0001 B7BE A0 0194 7F9E 00 0001 B7CD A0 0194 7F9E 00 0001 B7D4*
在我的代码中: 我想用 26 个字符分隔元素。 26 个字符的每个元素都是列表中的一个元素:
import csv #import csv modul using writerows function
#csv docs https://docs.python.org/3/library/csv.html
#open the file with the string element to seperate bm elements.
file = open("BM.txt", "r")
c = file.read()
#list comp that seperates the elements by 26 charackters each
neue_liste = [c[i:i+26] for i in range(0, len(c), 26)]
#creating a new file with the bm elements as comma seperated values
with open('briefmarken.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(neue_liste)
file.close()
列表推导的结果看起来很有希望:
['A0 0194 7F9E 00 0001 B7AB ', 'A0 0194 7F9E 00 0001 B7BE ', 'A0 0194 7F9E 00 0001 B7CD ',.....]
但是当我最终用 writerow() 函数编写列表时。 csv 中的内容如下所示:
A,0, ,0,1,9,4, ,7,F,9,E, ,0,0, ,0,0,0,1, ,B,7,A,B,
A,0, ,0,1,9,4, ,7,F,9,E, ,0,0, ,0,0,0,1, ,B,7,B,E,
A,0, ,0,1,9,4, ,7,F,9,E, ,0,0, ,0,0,0,1, ,B,7,C,D,
....
这对我的工作来说真的足够了,但我想知道为什么现在每个字符都用逗号分隔?我正在查看帖子和 csv 文档,但我不明白。
也许有人可以回答这个问题。
提前致谢
本
【问题讨论】:
-
您希望该行看起来像什么?你希望它是
A0 0194 7F9E 00 0001 B7AB或A0,0194,7F9E,00,0001,B7AB还是其他?
标签: python python-3.x list csv