Python来修改csv文件、复制和格式化列以及保存输出

Python来修改csv文件、复制和格式化列以及保存输出,python,pandas,performance,csv,formatting,Python,Pandas,Performance,Csv,Formatting,我正试图找到一种使用熊猫库的方法,将一个3列的csv文件转换成一个5列的csv文件,并为最后一列设置格式。然后我需要保存输出。我能够在powershell中编写这篇文章,但我无法在python中找到它,我需要它非常高效。我使用的是一个3列1.4亿行的文件。我尝试做的示例: 测试数据123456789 测试数据123456789 至-> 测试数据1234567 123456789 123-45-6789 123/45/6789 测试数据1234567 1234667890 123-45-6789

我正试图找到一种使用熊猫库的方法,将一个3列的csv文件转换成一个5列的csv文件,并为最后一列设置格式。然后我需要保存输出。我能够在powershell中编写这篇文章,但我无法在python中找到它,我需要它非常高效。我使用的是一个3列1.4亿行的文件。我尝试做的示例:

测试数据123456789

测试数据123456789

至->

测试数据1234567 123456789 123-45-6789 123/45/6789

测试数据1234567 1234667890 123-45-6789 123/45/6789


提前感谢您的帮助。

下面是一个示例解决方案

import pandas as pd

chunksize = 10 ** 6
for chunk in pd.read_csv("sample_data.csv", chunksize=chunksize, engine="c", header=None, sep=" ", dtype="string"):
    chunk[3] = chunk[2].map(lambda x: x[:3] + "-" + x[3:5] + "-" + x[5:])
    chunk[4] = chunk[2].map(lambda x: x[:3] + "/" + x[3:5] + "/" + x[5:])
    print(chunk.head(10))

    chunk.to_csv("sample_output.csv", header=None, mode='a')
我将以下内容作为参考点:


您是否要为跨行的两个新列分配相同的值?否,它们将基于第3列中的值