首页 > 解决方案 > 需要完全按照导入的方式导出 csv

问题描述

我需要读取 csv 并导出一个精确的副本。我已经阅读并可以使用相同的信息将其导出,但是结果略有不同。原始文件位于一行,而我的新导出位于多行。

我已使用 pd.read_csv 读取文件并使用 pd.to_csv 导出它

读入文件

需要用'|'分隔,名称也是列名

csv1 = pd.read_csv(r'\path\csv1.txt', sep = '|', header = 0)

导出到与 csv1 相同的名为“csv2.txt”的新文件

csv1.to_csv(r'\path\csv2.txt', sep = '|', index = False)

没有错误信息。CSV1 是由“|”分隔的一行,我的结果是 4 行,每个数据框列由“|”分隔

当我打开 CSV1 时,它看起来像:

john|mary|joe34|25|332|21|4321|42|25

当我打开 CSV2 时,它看起来像:

john|34|32|21
mary|25|21|42
joe|3|43|25

像我对 csv1 所做的那样读取 csv2 会产生相同的结果。但是,为什么当我打开 txt 文件时它们看起来不同?

标签: pythonpandas

解决方案


import csv

read_file = 'filename';

csv.register_dialect('myDialect', delimiter='|', quoting=csv.QUOTE_NONE)

myFile = open('write_file.txt', 'w')  
with myFile:  
   writer = csv.writer(myFile, dialect='myDialect')

   writer.writerows(read_file)

推荐阅读