我在 Mac 中尝试了我的代码,没问题,但是在 Windows 中,python 没有正确地将我的列表写入 CSV 文件,并且一些数据被写入不同的行,而它应该写入同一行。
personel = [firstname, lastname, detail]
with open("hr.csv", "a", newline='', encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(personel)
最佳答案
我用您的代码编写了一个测试程序(在 Windows 10 上),但没有发现 CSV 输出存在问题。在您的计算机上运行它,看看会发生什么。
这是测试输出(由随机字母组成):
fziziszaoq,gxlcgmncdn,bjehjbcjgq
lrzzbujdru,bxxqkavqro,mktmygqmrc
mauzgqkgqw,uijnzavbyi,jhjqxkbran
oplrispslo,irvkjgcimm,kjbfbpilmi
regaajxhdf,wwtyyspuoi,icmrcjwswx
这是测试代码:
import csv
import random
import string
def randomString(stringLength=10):
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(stringLength))
x = 0
while(x < 5):
personel = [randomString(), randomString(), randomString()]
with open("hr.csv", "a", newline='', encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(personel)
x = x + 1
我怀疑您的输入包含换行符。检查firstname
、lastname
或detail 中是否没有杂散的换行符。
关于Python写入csv文件,错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59483853/