使用python在csv中分隔符更改

问题描述 投票:0回答:1

我有一个约30000行的.csv文件。实现的默认定界符是分号。我使用python创建了一个小脚本,该脚本会将定界符转换为逗号并将其保存在同一文件中。该脚本运行时没有任何错误,但没有任何结果。分隔符仍然是分号。 .txt文件已创建,但不会写回到主文件上。我使用的代码如下:

import csv
from pathlib import Path
import os

cwd = os.getcwd()  # Get the current working directory (cwd)
files = os.listdir(cwd)  # Get all the files in that directory
print("Files in %r: %s" % (cwd, files))

with open('RadGridExport.csv', mode='r', encoding='utf-8') as infile:
    reader = csv.reader(infile, dialect="excel")
    with open('temp.txt', mode='w', encoding='utf-8') as outfile:
        writer = csv.writer(outfile, delimiter=',')
        writer.writerows(reader)
python excel csv delimiter import-from-excel
1个回答
1
投票

您在阅读时错过了分隔符。默认情况下,它查找逗号,因为不是这种情况,您必须指定定界符:

 reader = csv.reader(infile, dialect="excel",delimiter=";")

并且您不必在写时用逗号作为分隔符,因为它是默认的。

或者最简单的方法是使用pandas包:


    import pandas as pd
    df=pd.read_csv(infile,sep=';')
    df.to_csv(infile,index=False)
© www.soinside.com 2019 - 2024. All rights reserved.