首页 > 解决方案 > Python Panda CSV 管理

问题描述

您好,通过 Juypter Ipython 快速查询 Pandas。我已经编写了以下代码,并通过我试图为朋友的业务做的其他一些自动化工作。如果我想使用“-”作为分隔符将第一列分成 2,就像在 Excel 中一样......我将如何通过 Ipython 在 Pandas 中执行此操作?因此,“Red Bull-225825”的描述将变为“Red Bull”,并且将在描述左侧创建一个名为“XYZ”的新列,其值为 225825。空值为空。

import pandas as pd
df.columns = df.iloc[1]
df = pd.read_csv("3.csv", skiprows=range(0, 2))
df[['Description','Total Qty','Total Sales']].dropna().to_csv("new1.csv",index=False)

描述需要拆分

谢谢

标签: pythonpandascsv

解决方案


datadict = {'Desc': ['Sale', 'Red Bull-968313', 'Lotto', 'ABC-11123'],
            'Total Qty': [1,2,3,4],
            'Total Sale': [5,6,7,8]
            }

import pandas as pd
df = pd.DataFrame.from_dict(datadict)
print (df)
#              Desc  Total Qty  Total Sale
#0             Sale          1           5
#1  Red Bull-968313          2           6
#2            Lotto          3           7
#3        ABC-11123          4           8

df['Desc Number'] = df['Desc'].str.split('-')
df['Desc'] = [i[0] for i in df['Desc Number']]
df['Desc Number'] = [i[1] if len(i)>1 else None for i in df['Desc Number']]
df = df[['Desc Number', 'Desc', 'Total Qty', 'Total Sale']]
print (df)

#  Desc Number      Desc  Total Qty  Total Sale
#0        None      Sale          1           5
#1      968313  Red Bull          2           6
#2        None     Lotto          3           7
#3       11123       ABC          4           8

这个答案将说明None您需要的 /Null 值


推荐阅读