Python csv writer只写头和一个lin

2024-09-30 02:24:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用DictWriter编写和附加csv文件。当我写入工作目录时,csv会正确地写入和追加文件,但当我将文件位置设置为网络驱动器时,它只写入头和第一行。你知道吗

def collectSerials(salesOrderNum, shipDate, info, name, warranty):

    while 1:
        sn = input("Scan in the item's serial number:\n")

        #write to csv
        #salesOrderNum does not change
        #Checks to see if file already exists
        if (path.exists(salesOrderNum+'.csv')):
            #if so append
            with open('//ibl1/info/SalesOrders/'+salesOrderNum+'.csv', 'a', newline='') as csvfile:
                fieldnames = ['Product Name', 'Serial Number', 'Shipping Date', 'Warranty Expiration']
                writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
                writer.writerow({'Product Name': name, 'Serial Number': sn, 'Shipping Date': shipDate, 'Warranty Expiration': warranty})
        else:
            #if not create new file
            with open('//ibl1/info/SalesOrders/'+salesOrderNum+'.csv', 'w', newline='') as csvfile:
                fieldnames = ['Product Name', 'Serial Number', 'Shipping Date', 'Warranty Expiration']
                writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
                writer.writeheader()
                writer.writerow({'Product Name': name, 'Serial Number': sn, 'Shipping Date': shipDate, 'Warranty Expiration': warranty})

奇怪的是,它只写循环中输入的头和第一行。如果有问题的话,我希望它根本不起作用。你知道吗


Tags: csvcsvfilenamenumberdateifserialproduct
1条回答
网友
1楼 · 发布于 2024-09-30 02:24:55

这是因为你的操作系统指向你的工作目录。您只需检查文件是否在本地存在,然后将新文件写入网络驱动器。你知道吗

替换

if (path.exists(salesOrderNum+'.csv')):

if (path.exists('//ibl1/info/SalesOrders/'+salesOrderNum+'.csv')):

相关问题 更多 >

    热门问题