【问题标题】:Manipulating columns in txt file using Python使用 Python 操作 txt 文件中的列
【发布时间】:2018-12-07 19:29:20
【问题描述】:

一段时间以来,我一直在尝试为这个任务创建一个脚本,但是无论我往哪个方向走,我总是会找到一个死胡同,所以我在这里寻求帮助。尽管这似乎是一项简单的任务,但我对 Python 和一切工作方式还很陌生,因此我们将不胜感激。

File Data

在这张图片中,我们可以看到五个标记的列。脚本的想法是对“单位”列求和,除此之外,将“单位”列乘以“经销商价格”为我们提供收入。我还想按“消费国”和“货币代码”进行分组

我写了一个 SQL 查询来帮忙:

SELECT SUM(Units*Dealer_Price)
SUM(Units)
Consumer_Country,
Currency Code
FROM Sales File
GROUP BY Consumer_Country, Currency_Code

到目前为止我有这个(感谢@ParvBanks 和@Martin Frodl)

df = pandas.read_csv('data.csv', Header=None, encoding='utf-8', sep='\t')
df['Revenue'] = df['Units'] * df['Dealer Price']
df = df.groupby(['Consumer Country', 'Currency Code']).sum()
df = df[['Revenue', 'Units']]

任何帮助将不胜感激:)

【问题讨论】:

  • 使用pandas lib加载文件并进行你需要的操作
  • 有了 pandas,您将能够使用 SQL 查询。
  • 这并没有告诉我们您尝试将什么类型的文件加载到数据框中?是 CSV 文件还是 Excel 文件?
  • @ParvBanks 抱歉,这是一个 txt 文件
  • 能否也粘贴一个文本文件的样本,以便我们复制和测试。还有其他列缺少标题,因此解决方案可能不准确。快照没有多大帮助:)

标签: python sql pycharm


【解决方案1】:
import pandas as pd
df = pd.read_csv('data.csv')
df['Revenue'] = df['Units'] * df['Dealer Price']
df = df.groupby(['Consumer Country', 'Currency Code']).sum()
df = df[['Revenue', 'Units']]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    • 2019-01-29
    相关资源
    最近更新 更多