这是我的第一个问题,等待回答您的许多其他问题。我想要做的是创建很多新的 .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.tsv
、1.tsv
... 的文件,您可以在 to_csv
中更改该文件打电话。
关于python - 在 Python 中为 .csv 文件中的每条记录保存一个新的 .tsv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53431389/