【问题标题】:Converting Comma delimted CSV to Tab delimted CSV in pandas在熊猫中将逗号分隔的 CSV 转换为制表符分隔的 CSV
【发布时间】:2021-06-14 08:24:22
【问题描述】:

我正在使用 python 我有一个 CSV 文件,其中的值由制表符分隔, 我对其每一行应用了一条规则并创建了一个新的 csv 文件,生成的数据框是逗号分隔的,我希望这个新的 csv 也可以用制表符分隔。我该怎么做 ? 我知道使用 sep = '\t' 可以工作,但我应该在哪里应用它? 我应用了以下代码,但它也没有工作

df = pd.read_csv('data.csv', header=None)
df_norm= df.apply(lambda x:np.where(x>0,x/x.max(),np.where(x<0,-x/x.min(),x)),axis=1)
df_norm.to_csv("file.csv", sep="\t") 

【问题讨论】:

  • df_norm.to_csv("file.csv", sep="\t")
  • @TomMcLean 你好谢谢你的建议,我也应用了它,它没有用,因此怀疑!附上结果。
  • 你不应该发布你的代码图片,你应该总是把它作为文本放在代码块中。您能否运行 df_norm.head().to_clipboard() 行并将结果复制到您的问题中,以便有人可以修复您的代码?
  • 如果您使用\t - to_csv(..., sep="\t") 保存 - 那么接下来您应该使用\t - read_csv(..., sep="\t") 阅读 - 但您使用默认分隔符逗号 - read_csv(...) 阅读它 - 和这个是你的错

标签: python csv export-to-csv


【解决方案1】:

这个你试过了吗?

pd.read_csv('file.csv', sep='\t')

【讨论】:

  • 我做了,但没有用我在上面添加了结果的图像
  • 不,我的意思是用 sep = '\t' 加载新生成的 file.csv(你的最后一张图片)。不是说保存,而是阅读。
  • 哦,我明白了!好吧我试过了也没用:/
【解决方案2】:

我发现了问题,规则已将类型更改为“对象”,因此我无法执行任何进一步的操作。我关注Remove dtype at the end of numpy array,并将我的数据框转换为解决问题的列表。

df = pd.read_csv('data.csv', header=None)
df_norm= df.apply(lambda x:np.where(x>0,x/x.max(),np.where(x<0,-x/x.min(),x)),axis=1)
df_norm=df_norm.tolist()
df_norm = np.squeeze(np.asarray(df_norm))
np.savetxt('result.csv', df_norm, delimiter=",")

【讨论】:

  • 你可以把它当作最小的工作代码。您可以将其标记为已接受。几分钟后你就可以投票了。
猜你喜欢
  • 2020-11-24
  • 2021-07-21
  • 2018-04-02
  • 1970-01-01
  • 2020-04-04
  • 2018-02-22
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多