python - 在 Python 中为 .csv 文件中的每条记录保存一个新的 .tsv 文件

标签 python pandas

这是我的第一个问题,等待回答您的许多其他问题。我想要做的是创建很多新的 .tsv 文件,一个大 .csv 文件的每条记录(行)。从现在起我所做的基本上是创建一个新的 .txt 文件,其中包含 .csv 文件的所有数据,并用制表符而不是逗号分隔。这就是我所做的:

with open('mycsv.csv','r', encoding="utf-8") as csvin, open('out.txt', 'w', encoding="utf-8") as tsvout:
    csvin = csv.reader(csvin)
    tsvout = csv.writer(tsvout, delimiter='\t')

    for row in csvin:
        tsvout.writerow(row)

感谢您的帮助。

编辑:我忘了!我还想将输出 tsv 文件命名为 doc_i.tsv,其中 i 是 .csv 文件中每条记录的行号。

最佳答案

这是一种方法,使用 np.array_split :

import pandas as pd
import numpy as np

df = pd.read_csv('big_file.csv')
tsvs = np.array_split(df, df.shape[0])

for i, tsv in enumerate(tsvs):
    tsv.to_csv('{}.tsv'.format(i), sep='\t', index=False, header=False)

请注意,这将创建名为 0.tsv1.tsv... 的文件,您可以在 to_csv 中更改该文件打电话。

关于python - 在 Python 中为 .csv 文件中的每条记录保存一个新的 .tsv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53431389/

相关文章:

Python-按组计算连续频率

python - python 中的数据类型(寻找类似于 R 中的 str 的东西)

python - 在 Scikit 特征选择后保留特征名称

python - django-rest-framework 中的嵌套 detail_route

python - numba jitted 函数中集合的正确签名是什么?

python - 安装 python 模块自定义位置 PYTHONUSERBASE/virtualenv

python - 根据其他列和字典创建一个新列

python - 将 DataFrame Pandas 中第二行的列分类到第一行?

python - 在 Celery 中使用 Python 标准日志记录

python - 使用 pip 安装 tweepy 模块