【问题标题】:Compare two csv and merge them比较两个csv并合并它们
【发布时间】:2017-11-22 13:15:19
【问题描述】:

我需要使用 Python 和 Angular JS 将 CSV 文件从 python 发送到网页并相应地显示。

我有 2 个 CSV 文件,其字段为

CSV1

Country code,Telecom,Latency

919618, India Private Mobile,0.008800

919619, India Private Mobile,0.008800

919620, India Private Mobile,0.008800

CSV2

Country code,Telecom,Latency

919802, India Private Mobile,0.008400

919803, India Private Mobile,0.008400

919620, India Private Mobile,0.008400

网页应显示为

Country code,Telecom,Latency

919618, India Private Mobile,0.008800

919619, India Private Mobile,0.008800

919802, India Private Mobile,0.008400

919803, India Private Mobile,0.008400

919620,India Private Mobile,0.008400,0.008800

(最后一行包含两个值,因为 CSV 文件都包含 919620 个公共值)

所以现在我是 Angular JS 和 Flask 的新手, 请指导我如何开始?

从这个开始

import pandas as pd
import numpy as np


dfa = pd.read_csv('rate4.csv', names=['Country Code', 'SP', 'Rate']);
dfb = pd.read_csv('rate3.csv', names=['Country Code', 'SP', 'Rate']);

【问题讨论】:

标签: python angularjs csv pandas


【解决方案1】:

您可以将DataFrame 用于输出concatgroupbyCountry codeTelecomjoinLatency

df = pd.concat([df1, df2]) \
       .groupby(['Country code','Telecom'])['Latency'] \
       .apply(lambda x: ','.join(x.astype(str))) \
       .reset_index()
print (df)
   Country code               Telecom        Latency
0        919618  India Private Mobile         0.0088
1        919619  India Private Mobile         0.0088
2        919620  India Private Mobile  0.0088,0.0084
3        919802  India Private Mobile         0.0084
4        919803  India Private Mobile         0.0084

【讨论】:

  • 回溯(最近一次调用最后):文件“C:/Users/Yash Kumar Atri/PycharmProjects/untitled/test/prettyprint.py”,第 12 行,在 df = pd.concat ([dfa, dfb]).groupby(['Country Code','Telecom'])['Latency'].join(lambda x: ','.join(x.astype(str))) 文件“C: \Program Files\Python36\lib\site-packages\pandas\core\groupby.py",第 551 行,在 getattr (type(self).__name__, attr)) AttributeError: 'SeriesGroupBy' object没有属性“加入”
  • 嘿,你能给我一些建议来一次显示整个数据吗,因为它显示 28 233 GHANA FIXED 0.0088 29 234 NIGERIA FIXED 0.0088 ... ... ... ... 20431 91612794 India Fixed 0.0084 20432 91674791 India 固定 0.0084 导致它在两者之间显示三个点
  • 不幸的是,我不知道,永远不要在Flask 中做任何事情。也许可以帮助其他一些帖子,例如 thisthis
猜你喜欢
  • 1970-01-01
  • 2016-08-29
  • 2020-07-03
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 2016-11-13
  • 1970-01-01
  • 2017-04-22
相关资源
最近更新 更多