实际问题
工作中有时候碰到要将一长列的表打印出来,每页只有一列不好看。为此需要将单列的数据(sample_single.txt)转为多列(7列)的数据(sample_multi.csv)。
现在利用Python实现
方案一:
#!usr/bin/python3
import numpy as np
import pandas as pd
sample = np.loadtxt('sample_single.txt', dtype=str)
a = np.zeros((4, 1), dtype=str)
sample1 = np.append(sample, a).reshape(-1, 7)
sample1_D = pd.DataFrame(sample1)
sample1_D.to_csv('sample_multi.csv', index=None, header=None)
方案二:
模块用多了就不动脑子了,过后想想,用list+for就能很简单的解决问题,不需要任何模块。所以写脚本还是要有一个清晰的思路才ok!
#!usr/bin/python3
multi = open('sample_multi1.csv', 'w')
with open('sample_single.txt', 'r') as F:
Line = F.readlines()
for i in range(len(Line)):
if (i+1) % 7:
print(Line[i][:-1], end=',', file=multi)
else:
print(Line[i][:-1], file=multi)
网友评论