This is how the csv file looks like
我有这个银行数据集,其中所有变量名称和项目都保留在A列的相同单元格中。如何通过“;”正确分隔它们,并将它们放在c列后面的csv文件的每一列中,用Python?
例如,所有变量名都存储在A1:
中年龄; “工作”; “婚姻”, “教育”, “默认”, “住房”; “贷款”, “接触”, “月”, “DAY_OF_WEEK”, “时间”, “运动”,” pdays “;” 前 “” poutcome “;” emp.var.rate “;” cons.price.idx “;” cons.conf.idx “;” euribor3m “;” nr.employed “;” Y“
和B1中的一个数据: 56; “保姆”; “已婚”; “basic.4y”; “没有”, “无”, “无”, “电话”, “可能”, “周一”; 261; 1; 999; 0;“不存在的“; 1.1; 93.994; -36.4; 4.857; 5191;” 否“
与A2,A3,A4 ......中的数据相同。
相反,我想找出一种方法将所有这些分开“;”并将它们放在分开的单元格B1,C1,D1 ......中,它们看起来像:
____ A______B_____C______
1 | 年龄_ | ____ ____工作| marital_ | .....
2 | __56 _ |的 housemaid_ | _married | .....
......
......(我希望对所有行都做同样的事情)
我想用Python修改文件,所以使用pandas的read.csv我可以用网格线读取/分析数据。我想我之前用R做了类似的事。
答案 0 :(得分:0)
首先,您应该先尝试自己做,然后用代码示例提问。
其次,请接受解决问题的答案。 (正如我所看到的那样,未被接受)
第三,这是我对代码的看法。
例如,如果您有数据集(我简化了我的数据集,但它与数据一致):
"cat";"dog";"moose"
"moose";"cat";"dog"
以下是代码:
import csv
csv_rows = []
with open('animals.csv', 'rb') as csvfile:
orig_csv = csv.reader(csvfile, delimiter=';')
for row in orig_csv:
csv_rows.append(row)
with open("animals_1.csv", "wb") as csvfile:
w = csv.writer(csvfile, delimiter=",")
for row in csv_rows:
w.writerow(row)
确保使用正确的分隔符来读取/写入CSV!因为您拥有的数据集在我的电脑上看起来很好。
编辑:稍微更改了示例代码。
答案 1 :(得分:0)
根据我的理解,您的数据的原始格式如下:
[root@ES01 ~]# cat /tmp/test.txt
c1;c2;c3;c4;c5
v1;v2;v3;v4;v5
您想要更改为
c1,c2,c3,c4,c5
v1,v2,v3,v4,v5
我认为你可以
f=open('/tmp/test.txt')
for line in f.readlines():
print line.replace(';',',')