分隔csv和strip空格以生成新的csv

问题描述 投票:2回答:2

我有一个csv文件的内容。这里的分隔符是|我想删除行中的空格。我尝试用|分隔文件并删除空间的每个元素,但是当将它写入新的csv时,空间会被引入。在python中将所有这些都用掉

| 1497/1 | ACERNO-1 | 1 | 99000010119101 | RUCOPY:数据库树副本| LEGACY_DATA | 283 | OFDB_IT_SIEP |

import csv
aList=[]
workingdir = r"C:\Users\Akshay.Jain\Desktop\CAREER CONNECT"
csvfile = workingdir+r"\01_Wells.csv"
out = csv.writer(open("myfile.csv","w",newline=''),delimiter=',')

with open(csvfile, 'r') as f:
    reader = csv.reader(f, skipinitialspace=True,delimiter='|', quoting=csv.QUOTE_NONE)
    for row in reader:
        for elements in row:

            elements.strip()
            aList.append(row)

        out.writerow(row)
python csv delimiter trim strip
2个回答
1
投票

你的路线

 out.writerow(row)

再次写原始的row。尝试类似的东西

 out.writerow(aList)

(正如@mgilson在评论中所指出的那样,随着aList的创作进入循环并将elements添加到aList)或直接修改row

for row in reader:
    row = [x.strip() for x in row]
    out.writerow(row)

0
投票
import csv
aList=[]
workingdir = r"C:\Users\Akshay.Jain\Desktop\CAREER CONNECT"
csvfile = workingdir+r"\01_Wells.csv"
out = csv.writer(open("myfile.csv","w",newline=''),delimiter=',')

with open(csvfile, 'r') as f:
    reader = csv.reader(f, skipinitialspace=True,delimiter='|', quoting=csv.QUOTE_NONE)
    for row in reader:
        for elements in row:

            elements.strip()
            aList.append(elements[:-1])  # Add element by element, removing last item.

        out.writerow(aList[1: -1])  # Write list without first or last item, they are ","

输出:

1497/1,ACERNO-1,1,99000010119101,RUCOPY :Database tree copy,LEGACY_DATA,283,OFDB_IT_SIEP
© www.soinside.com 2019 - 2024. All rights reserved.