【问题标题】:python Pandas can't import completely data csv dute to whitespacepython Pandas无法将完整的数据csv导入空白
【发布时间】:2021-04-26 17:36:41
【问题描述】:

我是初学者 我无法将完整的 CSV 数据导入熊猫。 CSV 中的日期在 2 列 ['Test Results','S/N'] 的字符中插入了空格,使其无法导入完整的数据。

如何解决?

我的代码

scores_df = pd.read_csv('20210112.csv')
print(scores_df)     

导入后的数据。

Date      Time  Millisecond  Pumping time  Heating time  temperature  time  water weight  Power  Voltage  Testing time Test Results  S/N
0    2021/01/13  00:00:41          540           175           589         1899   291          2290   1427      118          1179            O    2
1    2021/01/13  00:03:11          350           175           569         1899   317          2280   1461      118          1181            O    2

CSV 文件中的数据

"Date","Time","Millisecond","Pumping time","Heating time","temperature","time","water weight","Power","Voltage","Testing time","Test Results","S/N"
"2021/01/13","00:00:41","540","175","589","1899","291","2290","1427","118","1179","O K ","2 1 B . A 1 5 4 . 0 1 6 2 1 6 9 "
"2021/01/13","00:03:11","350","175","569","1899","317","2280","1461","118","1181","O K ","2 1 B . A 1 5 4 . 0 1 6 2 1 7 7 "

【问题讨论】:

  • 您可以发布 csv 数据样本的文本(不是图像)吗?
  • CSV 文件中的数据 me","毫秒","泵送时间","加热时间","温度","时间","水重","功率","电压", "测试时间","测试结果","S/N" "2021/01/13","00:00:41","540","175","589","1899","291" ,"2290","1427","118","1179","OK ","2 1 B 。一个 1 5 4 。 0 1 6 2 1 6 9 " "2021/01/13","00:03:11","350","175","569","1899","317","2280","1461 ","118","1181","OK","2 1 B .一个 1 5 4 。 0 1 6 2 1 7 7 "
  • import to pandas Date Time 毫秒 抽水时间 加热时间 温度 时间 水重 电源 电压 测试时间 测试结果 S/N 0 2021/01/13 00:00:41 540 175 589 1899 291 2290 1427 118 1179 O 2 1 2021/01/13 00:03:11 350 175 569 1899 317 2280 1461 118 1181 O 2
  • 我无法从提供的信息中重现您的问题。我认为发布的答案暗示了要尝试的正确方法-我能想象的唯一另一件事是隐形字符。在编辑器中打开 csv,该编辑器将显示不可见的字符,看看那里是否发生了奇怪的事情
  • 我还是遇到了这个问题,我尝试将我的 CSV 文件转换为 txt。然后转换回 CSV 我发现 pandas 可以导入完成的值。

标签: python-3.x pandas csv whitespace


【解决方案1】:

您可能只需将 sep=',' 参数添加到 read_csv 就可以了,因为在您的情况下,自动检测似乎不起作用。但是,要涵盖所有基础,您还应该添加 quotechar='"' 参数以确保引用字符串中的任何分隔符都将被忽略。:

scores_df = pd.read_csv('20210112.csv', sep=',', quotechar='"')

【讨论】:

  • 我已经尝试过您的代码,但仍然得到相同的结果。 ,日期,时间,毫秒,抽水时间,加热时间,温度,时间,水重,功率,电压,测试时间,测试结果,S/N 0,2021/01/13,00:00:41,540,175,589,1899,291 ,2290,1427,118,1179,O,2 1,2021/01/13,00:03:11,350,175,569,1899,317,2280,1461,118,1181,O,2 2,2021/01/13,00 :06:23,420,173,591,1899,286,2300,1419,117,1176,O,2
【解决方案2】:
scores_df = pd.read_csv('20210112.csv', sep=',')

【讨论】:

    猜你喜欢
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 2021-05-29
    • 2020-11-05
    • 2019-10-17
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多