我已经创建了一个程序,这样我就可以将数据集的列拆分为4列,但是我的一些数据集只有2列,所以当到达该部分时,会抛出一个错误,我相信if else语句可以帮助解决这个问题。
下面是我的程序的代码:
import pandas as pd
import os
# reading csv file from url
filepath = "C:/Users/username/folder1/folder2/folder3/b 2 col.csv"
file_encoding = 'cp1252'
data = pd.read_csv(filepath , header=None, names = list(range(0,4)) , encoding=file_encoding)
data.columns =['ID', 'Name', 'S ID', 'SName']
# new data frame with split value columns
new = data["Name"].str.split(",", n = 1, expand = True)
# making separate first name column from new data frame
data["Last Name"]= new[0]
# making separate last name column from new data frame
data["First Name"]= new[1]
# new data frame with split value columns (2)
new = data["SName"].str.split(",", n = 1, expand = True)
# making separate first name column from new data frame
data["S Last Name"]= new[0]
# making separate last name column from new data frame
data["S First Name"]= new[1]
# Saving File name as its path
filename = os.path.basename(filepath) + ".xlsx"
data.to_excel(filename, index=False)
data
本部分负责分割第二组数据
# new data frame with split value columns (2)
new = data["SName"].str.split(",", n = 1, expand = True)
问题是我的CSV不是都有四列,所以如果我可以在这里实现一个if else来检查数据是否存在,然后继续else跳过并移动到下一节:
# Saving File name as its path
filename = os.path.basename(filepath) + ".xlsx"
data.to_excel(filename, index=False)
data
我相信这个程序能用我的数据集
链接到我的数据集示例:https://drive.google.com/drive/folders/1nkLgo5tSFsxOTCa5EMWZlezDFi8AyaDq?usp=sharing
谢谢你帮忙
2条答案
按热度按时间jdgnovmf1#
IIUC,假设(
.csv
)文件在同一个文件夹中,下面是pandas.concat
的一个命题:输出:
0vvn1miw2#
您可以像这样将2列拆分为4列。