如何替换CSV文件中分号的逗号?

时间:2019-01-15 19:41:26

标签: python csv

我正在尝试编写Python代码,其中在给定的CSV文件中,我用分号(例如

)替换逗号

我想改一下:玛丽(Marie),彼得(2.8)

到这里:玛丽;彼得2,8

这是我当前的代码,但是它不起作用...当我上传CSV文件时,它不能代替逗号(分号)

import csv
name3 = input("Name your CSV file:" )
import os.path
while not os.path.isfile(name3):
  print('File {0} not found.'.format(name3))
  name3 = input('Name your CSV file: ')
f3 = open(name3,'r')
name4 = input('Name your exit file:')
f4 = open(name4,'w')

c = f3.read(1) 
while c == ',' :
    c = f4.replace(",",";")
    f4.write(c)
    c = f3.read(1)

c1 = f3.read(1)
while c1 == '.' :
    c1 = f4.replace(".",",")
    f4.write(c1)
    c1 = f3.read(1)

f3.close()
f4.close()

1 个答案:

答案 0 :(得分:0)

您导入的CSV library可以很容易地完成以下操作:

import csv
import os


name3 = input("Name your CSV file: ")

while not os.path.isfile(name3):
    print('File {} not found.'.format(name3))
    name3 = input('Name your CSV file: ')

name4 = input('Name your exit file: ')

with open(name3, 'r', newline='') as f_input, open(name4, 'w', newline='') as f_output:
    csv.writer(f_output, delimiter=';').writerows(csv.reader(f_input))

默认情况下,csv.reader()将读取逗号分隔的行。然后可以使用csv.writer()作为分隔符,使用;来写所有行。