Python 3.x 使用不同的分隔符保存文本文件
我有一个包含100列的数据框,如何使用带有sep=',|的df.to_csv()导出/保存它 因此在df.iloc[:,:15]之后加上sep=';'和df.iloc[:,15:]带“,” 我试着翻阅了文件,但什么也找不到Python 3.x 使用不同的分隔符保存文本文件,python-3.x,dataframe,text-files,Python 3.x,Dataframe,Text Files,我有一个包含100列的数据框,如何使用带有sep=',|的df.to_csv()导出/保存它 因此在df.iloc[:,:15]之后加上sep=';'和df.iloc[:,15:]带“,” 我试着翻阅了文件,但什么也找不到 谢谢。在一次调用中使用两个不同分隔符的.to_csv()中可能没有内置解决方案。因此,我建议使用下一个纯Python解决方案,它只连接两个(或任意数量的部分)使用不同分隔符呈现的csv部分numpy仅用于用随机数填充数据帧,而不是csv创建所必需的 在下面的代码中,我使用了问
谢谢。在一次调用中使用两个不同分隔符的
.to_csv()
中可能没有内置解决方案。因此,我建议使用下一个纯Python解决方案,它只连接两个(或任意数量的部分)使用不同分隔符呈现的csv部分numpy
仅用于用随机数填充数据帧,而不是csv创建所必需的
在下面的代码中,我使用了问题作者建议的限制:15
和15:
。我还使用了,
作为两个csv子文件行部分之间的分隔符。代码可以扩展为连接使用不同分隔符呈现的任意(而不仅仅是两个)数量的csv子文件
import pandas as pd, numpy as np
# Example dataframe creation
df = pd.DataFrame(np.random.randn(10, 40))
with open('result.csv', 'wb') as f:
f.write('\n'.join([','.join(line_parts) for line_parts in zip(*[
df.iloc[:, begin : end].to_csv(sep = sep, header = False, index = False).splitlines()
for begin, end, sep in [(None, 15, ';'), (15, None, ',')]
])]).encode('utf-8'))
我建议使用这个普通的python代码来连接两个csv子文件:
“\n”。连接([a+”、“+b表示a,b在zip中(df.iloc[:,:15.)。到_csv(sep=”;).splitlines(),df.iloc[:,15:。到_csv(sep=”,“).splitlines())
。另外,您可能需要在a
和b
之间添加一些内容作为您选择的分隔符。此外,我发现您可能需要添加参数header=False,index=False
,以调用。\u csv()
,因为您可能不需要行和列索引。