Как скопировать одну строку в файле .csv в другую строку с помощью python - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь объединить строки из первых двух строк файла .csv в одну строку в python. Я использую файл с более чем 150 столбцами.

Сейчас он выглядит так:

  1. ;; Test1; Test1; Test1; Тест 2; Тест 2; Test2
  2. Имя; День рождения; Очки Q1; Очки Q2; Очки Q3; Очки Q1; Очки Q2; Очки Q3

, но мне нужно объединить информацию в один ряд, который выглядит следующим образом:

  1. Имя; День рождения; Test1 PointsQ1; Тест1 Очки Q2; Тест1 Очки Q3; Тест2 Очки Q1; ...

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Используя библиотеку pandas, вы можете сделать это,

Прежде чем устанавливать библиотеку pandas, если у вас ее нет,

Используя эту команду

pip install pandas 

Затем добавьте этот скрипт в ваш код

import pandas as pd
data=pd.read_csv("YOUR FILE LOCATION WITH FILE NAME")

Эта строка напечатает вам первую строку вашего листа Excel

print(data.ioc[0])

Вы можете объединить первые две строки в одну строка и сохранить в первом ряду

data.iloc[0]=[data.iloc['YOUR COLUMN NAME'][0]+data.iloc['YOUR COLUMN NAME'][1],data.iloc[]+.......]

Вот так для каждого вашего столбца, и он сохранит в первом ряду и запустит al oop для оставшихся рядов и обновит его.

Для сохранения из переменной данных, которая является фреймом данных, в CSV

data.to_csv('your-file-name.csv', sep=',')
0 голосов
/ 19 февраля 2020

Хорошо, мне удалось это сделать, преобразовав файл .csv в массив.

def addheader(inputfile):

 results = []
 with open(inputfile, "r") as r:
      reader = csv.reader(r, delimiter=';')
          for row in reader:
           i = i+1
           if i < x:
                results.append(row)


      i = 0
      x = len(results[0])-1

      while i < x:
           i = i+1
           results[1][i] = results[0][i] + " " + results[1][i]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...