从熊猫读取csv时如何删除双qoutes?

时间:2020-10-02 15:03:18

标签: python pandas csv

我有一个csv,并试图将其作为列表的列表。

operational_band,alternative_band
V490,null
V550,null
V620,null
V670,null
V708,V710
N740,null
N753,N760
N778,N780
N865,N860

我将文件读取为:

df = pd.read_csv("op_bands.csv")
op_list = df.values.tolist()
print(op_list)

我的op_list为:

[['V620', ' "null"'], 
 ['V670', ' "null"'], 
 ['V708', ' "V710"'], 
 ['N740', ' "null"'], 
 ['N753', ' "N760" '], 
 ['N778', ' "N780"'], 
 ['N865', ' "N860"']]
  1. 我的第一和第二项被忽略了,为什么?以及如何解决?
  2. 每个列表的第二个条目都有双引号和空格,例如' "N860"'。如何忽略这些引号和多余的空间?
  3. 我的CSV格式正确吗?

2 个答案:

答案 0 :(得分:2)

当我尝试通过将粘贴的内容复制粘贴到csv文件中来复制此文件时,我没有遇到同样的问题。

import pandas as pd

df = pd.read_csv('dummy.csv')
op_list = df.values.tolist()
print(op_list)
    
>>>[['V490', nan], ['V550', nan], ['V620', nan], ['V670', nan], ['V708', 'V710'], ['N740', nan], ['N753', 'N760'], ['N778', 'N780'], ['N865', 'N860']]

看起来像是编码错误。您确定您的输入是使用utf-8编码的吗?以下是python的标准编码:https://docs.python.org/3/library/codecs.html#standard-encodings 您可以使用以下编码:

df = pd.read_csv('dummy.csv', encoding='latin1')

答案 1 :(得分:1)

当我复制粘贴您的数据时,我没有遇到任何问题。这是我的代码:

df = pd.read_csv('data.csv', keep_default_na=False)
lsls = df.values.tolist()

使用keep_default_na=False正确地将'null'强制转换为字符串而不是nan。 尝试升级到最新版本的Pandas。

相关问题