gpt4 book ai didi

python - str.split 给出 direct 和 read_csv 不同的结果

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:18 24 4
gpt4 key购买 nike

任何专家都可以告诉我为什么当我将 str.split 与直接字符串框架一起使用以及使用 pandas 从 .csv 文件读取相同的字符串时会得到不同的结果吗?

    data="0 2017/09/28 19:04:05.897106 72.9605 87 ECU1 AMFM HADT 991 log info verbose 1 991 :: 745 :: T[4]HSU(267) fq 98600, fs -12, hwQ 92, pQ 0, afQ 0, mp 65, ofs -300, adj 123, bw 114, stp 0, hl 5EECB57"
df = pd.DataFrame([data],columns=["Data"])
print df.Data.str.split(' ',13).tolist()
df = pd.read_csv("temp1.csv",names=["Data"],header=None)
print df.head(1)["Data"].str.split(' ', 13).tolist()

temp1.csv 仅包含一行,即与数据相同。

输出:

打印 1:

[['0', '2017/09/28', '19:04:05.897106', '72.9605', '87', 'ECU1', 'AMFM', 'HADT', '991', 'log', 'info', 'verbose', '1', '991 :: 745 :: T[4]HSU(267) fq 98600, fs -12, hwQ 92, pQ 0, afQ 0, mp 65, ofs -300, adj 123, bw 114, stp 0, hl 5EECB57']]

打印 2:

[['', 'hl', '5EECB57']]

我希望输出与 print 1 相同。

最佳答案

我认为这是pd.read_csv中分隔符的问题。默认情况下 sep 为 ',',因此它基于 , 进行拆分并将其转换为数据帧。因此,要忽略它,请使用双空格或 csv 中不存在的任何不同分隔符。

例如使用

df = pd.read_csv("temp1.csv",names=["Data"],header=None,sep='\s\s+') 

关于python - str.split 给出 direct 和 read_csv 不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46666479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com