将同一列数据拆分为多列

时间:2019-08-01 09:26:55

标签: python csv

我有一个csv数据,但数据集中在第一列。我想将同一列拆分为多列,然后将数据保存在新的csv中。 []是一个Excel单元格

例如,现在我的数据是:

[0.0     0.00     0.000  0.00000]   [ ] [ ]
[216.6   -81.88   85.236 12.00000]  [ ] [ ]
[214.4   -77.18   80.538  6.00000]  [ ] [ ]

我想分开:

[0.0]    [0.00]    [0.000]  [0.00000]
[216.6]  [-81.88]  [85.236] [12.00000]
[214.4]  [-77.18]  [80.538] [6.00000]

现在我的新数据在第一列和第二列之间将有一个空列。我尝试使用此代码,但数据将是:

[0.0]    [0.00]   [0.000]   [0.00000]
[   ]    [    ]   [     ]   [       ]
[216.6]  [-81.88] [85.236]  [12.00000]
[     ]  [    ]   [      ]  [        ]
[214.4]  [-77.18] [80.538]  [6.00000]
[     ]  [    ]   [      ]  [       ]

我有这个小代码:

import csv
l = []
with open('F:\csv\shortcircuit0707','rt') as f: 
    cr = csv.reader(f, delimiter=" ", skipinitialspace=True)
    for column in cr:
        l.append(column) 
with open('F:\csv\shortcircuit0707_1','wt') as f2:
    cw = csv.writer(f2)
    for item in l:
        cw.writerow(item)

    cw.writerows(l) 

谢谢!

2 个答案:

答案 0 :(得分:0)

您的数据似乎不完全是CSV(逗号为C)文件,但是字段之间用空格(或制表符)隔开。

您可以尝试将[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\<GUID_PublisherID>\PersistedTitleBarData\<GUID_PublisherID>!App] "AppVersion"=hex(b):00,00,00,00,00,00,01,00 "ExtendViewIntoTitleBar"=dword:00000001 (取决于您的实际分隔符)参数添加到delimiter=" ", skipinitialspace=True。参见the document of the csv module

工作示例:

csv.reader

答案 1 :(得分:0)

我建议您使用熊猫而不是CSV库 通过此命令在终端中安装它(“ pip install pandas”) 并在代码中使用

import pandas as pd
my_csv=pd.read_csv("M:\csv\shortcircuit0707.csv",delimiter="\t")
my_csv.to_csv("M:\csv\shortcircuit0707_1.csv)

注释的分隔符可以是“ \ t”或“;”根据您的CSV_file拆分数据

请参阅文档https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html