【问题标题】:How to read csv file with specific quoting with pandas如何使用 pandas 读取带有特定引用的 csv 文件
【发布时间】:2019-12-21 02:22:52
【问题描述】:

我有 csv 文件(1.csv),例如:

[a] [b] [c]
[1] [2,54] ['a
b
c']
[2] [3,45] ['b
c
d']

这是有效的 csv 格式。如何使用 pandas 读取这样的文件? 在当前状态下,我有:

df = pd.read_csv('1.csv', sep=' ', thousands=',')
print(df)
   [a]     [b]  [c]
0  [1]  [2,54]  ['a
1    b     NaN  NaN
2  c']     NaN  NaN
3  [2]  [3,45]  ['b
4    c     NaN  NaN
5  d']     NaN  NaN

但是不知道如何处理[]。在成功阅读中,我希望数据框应该是这样的:

print(df)

-----------------
  a b c
0 1 2.54 a\nb\nc
1 2 3.45 b\nc\nd

【问题讨论】:

  • 为什么这个问题被否决了?他发布了他的问题和他的尝试
  • 我想你必须编写一个解析方法来手动处理这个问题,并从第一原则拼凑你的数据框。看到这个,我首先想到的是read_csv中的quotechar参数,但是它只需要一个字符而不是集合r'[\[\]]'。此外,似乎没有办法(尽管我可能只是不知道)设置read_csv 以在列模上换行而不是\n

标签: python-3.x pandas


【解决方案1】:
Fast example for one column

pd.read_csv(“file”,sep=“ “,header=None) df[0]=df[0].str.replace(“[“,””).str.replace(“]”,””)

设置标题

df.columns=df.iloc[0]

【讨论】:

    猜你喜欢
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 2019-08-12
    • 2020-07-13
    • 2015-10-25
    • 2019-08-09
    相关资源
    最近更新 更多