【发布时间】:2019-08-12 06:23:46
【问题描述】:
我有多个大型 csv 文件,其中某些列在我的情况下 0 是第一个:
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49
应该乘以-1。
我想翻转这些列的数字符号并将所有 + 变为 - ,反之亦然。然后应保存该文件。这可以在linux中使用shell脚本吗?也许使用 awk 或 pandas 或类似的东西?
简短示例:
-2,-4,-5, 8, 5, 7
应该是
2, 4 ,5, -8,-5,-7
编辑:到目前为止我的努力是
import pandas as pd
myfile = open("anyfile.csv")
df = pd.read_csv(myfile, header=None)
#print(df, end="\n\n")
df[1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49] *= -1
#print(df)
如何将该结果保存到新的 csv。是否可以通过 shellscript 自动执行此操作?
【问题讨论】:
-
因此,我们鼓励所有用户发布他们为解决自己的问题所做的努力,所以请这样做并让我们知道。
-
试试这样的:
awk -F "," '{print $1*-1","$2*-1}' file.csv -
要保存熊猫
df,您可以使用:df.to_csv('outputfile.csv')