【问题标题】:Function to read specific lines from CSV file with pandas使用 pandas 从 CSV 文件中读取特定行的函数
【发布时间】:2020-07-13 04:58:14
【问题描述】:

我有一个包含 200 行的 CSV 文件。我想创建一个函数来读取每 50 行,然后将这些(50 行)存储在 .txt 文件中,直到 csv 文件结束。请问我该怎么做?任何帮助表示赞赏。

import pandas as pd
import csv

def my_function(n):
  dataset = pd.read_csv('e.csv', nrows=50) 
  X = dataset.iloc[:,[0,0]].values

更新::

def my_function(n):

dataset = pd.read_csv('e.csv', nrows=n) 
X = dataset.iloc[:,[0,0]].values


with open('funct.txt', 'w') as file:
    for i in X:
        file.write("{}\n".format(i))

return

row_count = len(open("e.csv").readlines())
print(row_count)
n=50

my_function(n)

现在是我的问题 如何每次读取每 50 行,直到达到最大长度(200)?

【问题讨论】:

  • 提示:打开文件(就像打开任何其他纯文本文件一样:csv文件文本文件),以"w"模式打开.txt文件, 并循环 50 次从第一个文件中读取一行并将其写入第二个文件...
  • 您想从旧的一个文件创建新的多个 csv 文件?哪里需要熊猫?
  • 如果你想分割数据框,你有答案here
  • @TeshanShanukaJ,我有 csv 文件有 200 行这样的数据(66.44 77.3 56,3 56,9 ...),现在我想从 csv 读取 50 行(50 个值)文件并将这些数字放入txt文件,最终结果必须是4个txt文件,每个文件有50个数字使用函数
  • 那么@SergeBallesta 已经说过你该怎么做

标签: python pandas file csv


【解决方案1】:

您可以测试索引的欧几里得除以 50 的剩余部分,以检查您的行号是否是 50 的倍数:

df=pd.read_csv('e.csv')
df=df[df.index%50==0]
df.to_csv('newfile.txt')

这样你就不需要遍历你的数据框了。

【讨论】:

    猜你喜欢
    • 2019-08-12
    • 1970-01-01
    • 2014-03-14
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    相关资源
    最近更新 更多