首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用熊猫改造csv

用熊猫改造csv
EN

Stack Overflow用户
提问于 2020-12-01 20:26:59
回答 1查看 18关注 0票数 0

我有以下代码:

代码语言:javascript
复制
#Import Modoules
from shutil import copyfile
import pandas as pd

#Read new sample
col_list = ['Use%']
df = pd.read_csv('temp.csv', usecols=col_list)

#Open Existing file and rename headers
partition_df = pd.read_csv('output.csv', names=['Server Name', 'Date' ,'Disk     Size', 'Mounted on', 'M-1 Usage %', 'M-2 Usage %', 'M-3 Usage %', 'M-4 Usage %', 'M-5 Usage %','M-6 Usage %', 'M-7 Usage %', 'M-8 Usage %', 'M-9 Usage %', 'M-10 Usage %', 'M-11 Usage %', 'M-12 Usage %', 'Temp'], header=1)

#insert new Sample
partition_df.insert(loc=4, column='Current % Usage', value=df)

#Drop Temp Column
partition_df.drop(['Temp'], axis=1, inplace=True)

#Drop empty Column
partition_df.dropna(axis=1, how='all', inplace=True)

#Write new Sample file
partition_df.to_csv('output.csv', index=False)

#copy output file to disk_check.csv
copyfile('output.csv', 'disk_usage.csv')

文件temp.csv为

代码语言:javascript
复制
Use%
20%
30%
23%

文件output.csv为

代码语言:javascript
复制
Server Name,Date,Disk Size,Mounted On,Current Usage  %
s4prd1,30/11/2020,15G,/usr/sap,17%
s4prd2,30/11/2020,2.0G,/var,1%
s4prd2,30/11/2020,15G,/usr/sap,16%

我需要最终的output.csv文件与新的列,这是‘使用%’作为‘当前使用率%’在列5,和旧的列进一步前进1列后,它应该看起来像这样:

代码语言:javascript
复制
Server Name,Date,Disk Size,Mounted On,Current Usage  %,M-1 Usage %
s4prd1,30/11/2020,15G,/usr/sap,20%,17%
s4prd2,30/11/2020,2.0G,/var,30%,1%
s4prd2,30/11/2020,15G,/usr/sap23%,16%

我不想插入空列,因为我在测试中成功地做到了这一点。但是,当我尝试在生产环境中运行它时,它在代码中显示错误-#打开现有文件并重命名标题-因为这些列中没有数据。

很抱歉我的英语不好:)

请帮帮忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-02 00:56:18

如果我没理解错的话,您需要添加新的“当前使用”,并将旧的前移并分别更改它们的名称。如果是这样,我可以建议先更改列名,这样以前的“当前使用”将变为“M-1使用”,以此类推:

代码语言:javascript
复制
static_columns = ['Server Name', 'Date', 'Disk Size', 'Mounted On']
partition_df.columns = static_columns + ['M-{} Usage%'.format(i) for i in range(1, (len(df.columns)-len(static_columns))+1)]

然后,您可以简单地将新数据插入为“当前使用情况”:

代码语言:javascript
复制
partition_df.insert(loc=4, column = 'Current Usage%', value=df)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65090483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档