【问题标题】:Separate columns in csv Pythoncsv Python中的分隔列
【发布时间】:2018-10-29 13:48:01
【问题描述】:

我有一个包含以下列的 CSV 文件:

"Advertising, Marketing, Promotions, Public Relations, and Sales Managers"

我试图在 python 中用分隔符分隔这些字符串。以下是我目前的代码:

with open('output-onlinecsvtools.csv', 'r') as f:
reader = csv.reader(f, delimiter=',')

但是,这仅适用于第一个逗号,并且还会创建一个副本。我不担心重复项,因为我可以删除它们,但我认为分隔符适用于单元格中的逗号。

【问题讨论】:

  • 您是否尝试读取Pandas 中的文件?就像pandas.read_csv("output-onlinecsvtools.csv", ",") 一样简单。
  • @XiaoyuLu 不错的解决方案。根本不知道熊猫。谢谢!
  • @XiaoyuLu,你不需要单独定义columns,看文件的时候定义就行了,我只是根据你的理解把答案放在了上面,希望对你有帮助。跨度>

标签: python csv


【解决方案1】:

基于 Pandas 的解决方案,您可以尝试:

这将基于 comm 读取、删除,但是最好在创建 DataFrame(df) 时定义所需的列因此,当您稍后对这些列执行其他操作时,它不会读取整个 CSV 文件,而是将查看这些列上的数据。

import pandas as pd
df = pd.read_csv('csvFile', ',', usecols=['Advertising', 'Marketing', 'Promotions', 'Public Relations', 'Sales Managers'])

或者,您可以指定一个新参数sep

df = pd.read_csv('csvFile', sep=',' , usecols=['Advertising', 'Marketing', 'Promotions', 'Public Relations', 'Sales Managers'])

【讨论】:

  • 问题是我的文件有大约 1000 列,只有一行。
  • @Mario,好的,但您告诉过您只需要选择几列,正如您在帖子中要求的那样。你需要什么来成为这些列吗?但是在答案中,我展示了如何选择您需要的特定列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多