如何使用python将固定宽度的txt文件转换为csv?

我在网上搜索,但找不到我的问题的答案.我需要将txt文件转换为csv.我已经弄清楚如何使用分隔符来执行此操作,但是,txt文件没有任何分隔符或标题,因此我必须设置固定宽度数字.该文件有数百万条记录.柱的宽度为10,60,60,60,30,2,3,6,9,5,6,12,6,5,3,12,12,5,3.

我的两个挑战是:
1.使用上面列出的固定宽度将文件转换为csv.
2.插入标题.

数据看起来像这样:

0000000626ISOCKE BBBB ZZZZZ TW DARTMOUTH 10 FDSAF DR DARTMOUTH CASN 7H44DR SAAB -11.111111 22.2222222 000 -33.333333 44.4444444 000
0000000627ISOCKE FFFF TTTTT TW HALIFAX 3367 FDSAF RD HALIFAX CASN 8C5ASE SAAB -55.555555 66.6666666 000 -77.777777 88.8888888 000
0000000628ISOCKE RE CHARLOTTETOWN 449 UYRNT ECSARW RD CHARLOTTETOWN CAPE CSE8HR SAAB -99.999999 11.1111111 000 -22.222222 33.3333333 000

同样,我已经能够使用以下代码将文件转换为csv,但格式不正确:

import csv
rf = open(r'C:\Users\...New Folder\practice.txt', 'r') #input file handle
wf = open(r'C:\Users\...New Folder\Book1.csv','w') #output file handle
writer = csv.writer(wf)

for row in rf.readlines():
    writer.writerow(row.split())
rf.close() # close input file handle
wf.close() # close output file handle
最佳答案
使用struct将每个固定宽度的行撕开,在适当的位置进行修剪.

转载注明原文:如何使用python将固定宽度的txt文件转换为csv? - 代码日志