将字符串以Python方式转换为CSV文件

时间:2018-09-22 22:23:01

标签: python csv

我有一个字符串,一个很长的字符串,我想导入到excel中进行进一步处理。 该字符串采用以下伪代码中的形式。 我的代码可以正常工作,但是我很想看看处理它的pythonic方法,因为我觉得它是一个相当差的非灵活代码。

info = 'de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 
23 de 23 de 23 de 23 de 23 de 23 de 23'
info = [x.strip() for x in info.split(" ")]
file = open('testfile.txt','w') 
for i in range (0,len(info),2):
    file.write(info[i]) 
    file.write(",")
    file.write(info[i+1]) 
    file.write("\n") 
file.close() 
print("Done")

输出应该是:

    de, 23
    de, 23
    de, 23

2 个答案:

答案 0 :(得分:1)

也许这可以有所改善:

info = 'de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 
23 de 23 de 23 de 23 de 23 de 23 de 23'

days = info.split()
output_form = "{},{}\n"

with open('testfile.txt','w') as file:
    for i in range (0,len(days),2):
        file.write(output_form.format(days[i],days[i+1]))
print("Done")

答案 1 :(得分:1)

A more compact approach would be:

info = 'de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23' +
       'de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23 de 23'
info = info.split()
with open('testfile.txt', 'w') as f:
    f.write('\n'.join(a + ',' + b for a, b in zip(info[::2], info[1::2])))

where info[::2] contain all elements with even indices, and info[1::2] contain all elements with odd indices.