gpt4 book ai didi

python - 在 csv 中垂直写入 zip 数组

转载 作者:行者123 更新时间:2023-11-30 23:32:31 25 4
gpt4 key购买 nike

有没有办法在 csv 中垂直显示压缩文本?我尝试了许多不同类型的\n ',' 但仍然无法使数组垂直

Excel csv

if __name__ == '__main__': #start of program
master = Tk()
newDirRH = "C:/VSMPlots"
FileName = "J123"
TypeName = "1234"
Field = [1,2,3,4,5,6,7,8,9,10]
Court = [5,4,1,2,3,4,5,1,2,3]

for field, court in zip(Field, Court):
stringText = ','.join((str(FileName), str(TypeName), str(Field), str(Court)))

newfile = newDirRH + "/Try1.csv"
text_file = open(newfile, "w")
x = stringText
text_file.write(x)
text_file.close()
print "Done"

这是我正在为您的代码寻找的方法,我似乎无法添加新列,因为所有列都会重复 10x

enter image description here

最佳答案

您没有写入 CSV 数据。您正在编写列表的 Python 字符串表示形式。您正在编写整个 FieldCourt 列出循环的每个迭代,而不是编写 fieldcourt, Excel 在 Python 字符串表示形式中看到逗号:

J123,1234,[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],[5, 4, 1, 2, 3, 4, 5, 1, 2, 3]
J123,1234,[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],[5, 4, 1, 2, 3, 4, 5, 1, 2, 3]
etc.

当你想写时:

J123,1234,1,5
J123,1234,2,4
etc.

使用csv module生成 CSV 文件:

import csv

with open(newfile, "wb") as csvfile:
writer = csv.writer(csvfile)
for field, court in zip(Field, Court):
writer.writerow([FileName, TypeName, field, court])

注意with语句;它负责为您关闭打开的文件对象。 csv 模块还确保所有内容都转换为字符串。

如果您只想在第一行写一些东西,请在您的项目上保留一个计数器; enumerate() 让这变得简单:

with open(newfile, "wb") as csvfile:
writer = csv.writer(csvfile)
# row of headers
writer.writerow(['FileName', 'TypeName', 'field', 'court'])

for i, (field, court) in enumerate(zip(Field, Court)):
row = [[FileName, TypeName] if i == 0 else ['', '']
writer.writerow(row + [field, court])

关于python - 在 csv 中垂直写入 zip 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19312524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com