当前位置: 代码迷 >> python >> 将字符串以Python方式转换为CSV文件
  详细解决方案

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

热度:21   发布时间:2023-07-14 09:49:53.0

我有一个字符串,一个很长的字符串,我想导入到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

也许这可以有所改善:

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")

一种更紧凑的方法是:

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])))

其中info[::2]包含所有具有偶数索引的元素,而info[1::2]包含所有具有奇数索引的元素。