我设法创建了一个值的文本文件,我需要写入csv或xlsx。无论如何都要将值对写入两列,我的文本文件当前包含数据:
1 2 3 4 5 6 7 8
所以我需要这样写出口:
A B
1 2
3 4
5 6
7 8
我知道如何使用代码中指定的列表执行此操作,但我的文本文件是早期函数的输出,并包含我需要分成两个相关列的数千个值。
目前我被困在
text = r"D:\Python\centers.txt"
csv = r"D:\Python\centers.csv"
with open(text) as text_file:
csv.reader(open(text, "rb"), delimiter = ' ')
for row in text_file:
out_csv = csv.reader(open(csv, 'wb'))
out_csv.writerows(text)
将文本文件指定为列表是更好的选择吗?任何帮助将不胜感激。
答案 0 :(得分:1)
这是我的方法:
text = r"D:\Python\centers.txt"
csv = open(r"D:\Python\centers.csv", "w")
with open(text, 'r') as content_file:
content = content_file.read()
content = content.split(" ")
print("A B", file=csv)
for i in range(0, len(content), 2):
if (i+1 != len(content)):
print("%s %s"%(content[i], content[i+1]), file=csv)
csv.close()
我读了整个文本文件,然后将其拆分为' '
,这会分别给出每个数字。然后我通过调用print函数并给它写入要写的文件,将A B
写入csv文件。之后,我循环了数字,但跳过每一秒索引。如果我不在最后一个号码,我将两个号码都打印到文件中。