熊猫dataframe.read_csv,quotechar不起作用

时间:2019-10-25 11:49:26

标签: python-3.x pandas dataframe

我没有得到预期的输出。

我正在尝试将CS​​V转换为数据帧,但是它不起作用:

$('.AddSubMenu123').select2({
    placeholder: 'select one',
    allowClear: true,
    ajax: {
        url: '/SubMenu/GetSubMenuList',
        dataType: 'json',
        data: function(params) {
          return {
            prefix: params.term,
          }
        },
        processResults: function(data) {
          return {
            results: $.map(data, function(item) {
              return {
                id: item.val,
                text: item.label,
              }
            })
          };
        }
    },
    });
});

这是我的CSV文件示例:

“帐户编号,名称,商品代码,类别,数量,单价,网价,日期”

“ 093356,Waters-Walker,AS-93055,衬衫,5,82.68,413.40,2013-11-17 20:41:11”

“ 659366,Waelchi-Fahey,AS-93055,衬衫,18,99.64,1793.52,2014-01-03 08:14:27”

“ 563905,”“ Kerluke,Reilly和Bechtelar” ,AS-93055,衬衫,17,52.82,897.94,2013-12-04 02:07:05“

“ 995267,Cole-Eichmann,GS-86623,Shoes,18,15.28,275.04,2014-04-09 16:15:03”

“ 524021,Hegmann and Sons,LL-46261,Shoes,7,78.78,551.46,2014-06-18 19:25:10”

“ 929400,”“ Senger,Upton和Breitenberg”“ ,LW-86841,鞋子,17,38.19,649.23,2014-02-10 05:55:56”

请查看CSV文件中用“”括起来的粗体字符

1 个答案:

答案 0 :(得分:0)

这是我的建议:

df = pd.read_csv('file.csv')
col_name = 'account_number,name,item_code,category,quantity,unit price,net_price,date'
z = pd.concat([df[col_name].str.split(r'(,(?=\S)|:)', expand=True)], axis=1)
z['date'] = z[14]+z[15]+z[16]+z[17]+z[18]
z = z.drop(columns=[1,3,5,7,9,11,13, 14,15,16,17,18])
z.columns = col_name.split(',')

此正则表达式r'(,(?=\S)|:)'至关重要-逗号但不紧跟空格,但是我不知道为什么它也在:上分开。如果可以解决,则无需手动设置日期。

输出:

 account_number  ...                 date
0         093356  ...  2013-11-17 20:41:11
1         659366  ...  2014-01-03 08:14:27
2         563905  ...  2013-12-04 02:07:05
3         995267  ...  2014-04-09 16:15:03
4         524021  ...  2014-06-18 19:25:10
5         929400  ...  2014-02-10 05:55:56