我有一个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)
谢谢!
答案 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