我有以下test2.csv檔案:
id,name,city,country
1,David, Johnson,London,UK,
2,Mary, Gueta,NY,USA,
3,Matthias, Nile,Munich,Germany,
我想將它讀入熊貓資料框。使用此代碼
df = pd.read_csv('test2.csv')
我得到以下df:

但我想將名字和姓氏一起存盤在列中name。id列應存盤數字。city并且country還應該存盤適當的值。
先感謝您!
uj5u.com熱心網友回復:
import csv
file = open(`temp.csv')
csvreader = csv.reader(file)
header = []
header = next(csvreader)
new_rows = []
for row in csvreader:
new_rows.append([row[0], row[1] ',' row[2], row[3], row[4]])
file.close()
df = pd.DataFrame(new_rows, columns =header )
df
uj5u.com熱心網友回復:
有一個有用的模式來區分值,空格出現在名稱中的逗號之后,因此您可以將分隔符“,”替換為“|” 更有效地避免這種型別的混淆
import csv
import pandas as pd
import re
#substitute comma not followed by space for vertical bar in the original file and save it as a new file
with open('test2.csv', 'r') as infile, open('test2_vb.csv', 'w') as outfile:
for line in infile:
line = re.sub(',(?! )', '|', line)
outfile.write(line)
file = open('test2_vb.csv', 'r')
reader = csv.reader(file , delimiter='|')
#load the data into a dataframe
df = pd.DataFrame(reader)
print(df)
這種方式使用正則運算式可以更正檔案(盡管在行尾不應該是分隔符)
uj5u.com熱心網友回復:
您可以更改1,David, Johnson,London,UK為1,"David, Johnson",London,UK然后使用加載它pd.DataFrame
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467774.html
