Hướng dẫn python convert csv to pipe delimited - python chuyển đổi csv thành phân cách bằng dấu sổ đứng

Tôi muốn chuyển đổi tệp CSV được phân phối bằng dấu phẩy thành tệp được chọn lọc bằng python:

Đây là cách tôi đang đọc tệp CSV của mình:

with open['C://Path//InputFile.csv'] as fOpen:
    reader     =     csv.DictReader[fOpen]

    for row in reader:
        for [k, v] in row.items[]:
            columns[k].append[v]

c = csv.writer[open["C://Path//OutputFile.txt","wb"], delimiter="|"]

Làm thế nào tôi sẽ viết nó dưới dạng tệp được phân định đường ống?

Stevoisiak

21.4K25 Huy hiệu vàng118 Huy hiệu bạc208 Huy hiệu đồng25 gold badges118 silver badges208 bronze badges

Hỏi ngày 18 tháng 12 năm 2014 lúc 16:33Dec 18, 2014 at 16:33

1

Điều chỉnh câu trả lời của Martineau để khắc phục các vấn đề mới trong Python 3.

import csv

with open['C:/Path/InputFile.csv'] as fin:
    # newline='' prevents extra newlines when using Python 3 on Windows
    # //stackoverflow.com/a/3348664/3357935
    with open['C:/Path/OutputFile.txt', 'w', newline=''] as fout:
        reader = csv.DictReader[fin, delimiter=',']
        writer = csv.DictWriter[fout, reader.fieldnames, delimiter='|']
        writer.writeheader[]
        writer.writerows[reader]

Đã trả lời ngày 19 tháng 9 năm 2018 lúc 16:27Sep 19, 2018 at 16:27

StevoisiakstevoisiakStevoisiak

21.4K25 Huy hiệu vàng118 Huy hiệu bạc208 Huy hiệu đồng25 gold badges118 silver badges208 bronze badges

Hỏi ngày 18 tháng 12 năm 2014 lúc 16:33

import csv

with open['C:/Path/InputFile.csv', 'rb'] as fin, \
     open['C:/Path/OutputFile.txt', 'wb'] as fout:
    reader = csv.DictReader[fin]
    writer = csv.DictWriter[fout, reader.fieldnames, delimiter='|']
    writer.writeheader[]
    writer.writerows[reader]

Điều chỉnh câu trả lời của Martineau để khắc phục các vấn đề mới trong Python 3.Dec 18, 2014 at 18:15

Đã trả lời ngày 19 tháng 9 năm 2018 lúc 16:27martineau

Stevoisiakstevoisiak25 gold badges161 silver badges287 bronze badges

5

Điều này làm những gì tôi nghĩ bạn muốn:

df.to_csv[fileName, sep="|"]

Đã trả lời ngày 18 tháng 12 năm 2014 lúc 18:15

MartineaumartineauMar 6, 2020 at 9:39

Huy hiệu vàng 116K25

import pandas as pd
df = pd.read_csv[r'C:\Users\gupta\Documents\inputfile.csv'] #read inputfile in a dataframe
df.to_csv[r'C:\Users\gupta\Desktop\outputfile.txt', sep = '|', index=False] #write dataframe df to the outputfile with pipe delimited

Tôi tìm thấy một cách nhanh chóng để thay đổi dấu phân cách dấu phẩy thành một đường ống với gấu trúc. Khi tôi chuyển đổi khung dữ liệu của mình thành CSV bằng cách sử dụng "|" như phân định:Jan 19, 2021 at 17:27

Tôi không có nhiều kinh nghiệm với mô -đun csv, vì vậy nếu các giải pháp này không thể thay thế cho nhau thì ai đó có thể phải hòa nhập. Nhưng điều này hoạt động tốt cho tôi một cách đáng ngạc nhiên.

Đã trả lời ngày 6 tháng 3 năm 2020 lúc 9:39

Bạn có thể sử dụng gấu trúc để đạt được việc chuyển đổi tệp CSV thành tệp được chọn [hoặc phân định mong muốn].

Đã trả lời ngày 19 tháng 1 năm 2021 lúc 17:27Dec 18, 2014 at 16:49

//docs.python.org/2/library/csv.html cho Python 2.x //docs.python.org/3.3/library/csv.html cho Python 3.xGullydwarf

Các trang này giải thích cách sử dụng CSV.Writer.3 silver badges15 bronze badges

Không kiểm tra nó, mã của bạn trông có giá trị cú pháp. Tất cả những gì bạn cần làm là thêm một số c.writerow['data','here'] để viết dữ liệu của bạn.

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây.Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn.Tìm hiểu thêm về các ký tự unicode hai chiều

Nhập khẩu csv
Nhập khẩu sys
Nhập khẩu os
# Chuyển đổi các tệp CSV được phân phối bằng dấu phẩy sang các tệp được chọn lọc bằng ống
# Sử dụng: Tệp CSV kéo và thả qua tập lệnh để chuyển đổi nó.
inputPath = sys.argv [1] = sys.argv[1]
OutputPath = Os.Path.DirName [InputPath] +"/output.csv" = os.path.dirname[inputPath] + "/output.csv"
# //stackoverflow.com/a/52410395/3357935
in ["Chuyển đổi CSV thành tệp được chọn cách sử dụng ..."]["Converting CSV to tab-delimited file..."]
withopen [inputPath] asinputfile: open[inputPath] as inputFile:
# newline = '' Ngăn chặn thêm dòng mới khi sử dụng Python 3 trên Windows
# //stackoverflow.com/a/3348664/3357935
withopen [outputpath, 'w', newline = ''] asoutputfile: open[outputPath, 'w', newline=''] as outputFile:
reader = csv.dictreader [inputFile, delimiter = ','] = csv.DictReader[inputFile, delimiter=',']
writer = csv.dictwriter [outputFile, reader.fieldNames, delimiter = '|'] = csv.DictWriter[outputFile, reader.fieldnames, delimiter='|']
Writer.WriteHeader [].writeheader[]
writer.writerows [người đọc].writerows[reader]
In ["Chuyển đổi hoàn thành."]["Conversion complete."]

Bài Viết Liên Quan

Chủ Đề