Я пытаюсь разбить CSV-файл, содержащий данные о запасах более 1500 компаний.Первый столбец содержит даты, а последующие столбцы содержат данные о компании.
Когда я использую функцию iloc , чтобы разделить файл CSV на более мелкие файлы, содержащие меньшие столбцы, он создает еще больший файл.
Вот как выглядят данные.
import pandas as pd
csv_path = "new-data.csv"
filename = 1
out_path = "C:\\Users\\ThirdHandBD\\Desktop\\Data Splitting\\pd-split\\" + str(filename) + ".csv"
#column increment
x = 30 * 59
'''for index, row in df.itertuples():
if index == ((x * filename) + 1):
pd.read_csv(csv_path).iloc[:, :index].to_csv(out_path)
filename += 1'''
pd.read_csv(csv_path, skiprows = 1, dtype='unicode').iloc[:, :1].to_csv(out_path)
Новый файл больше оригинала.
Не выдается никаких ошибок, dtype установлен в Unicode, чтобы обойти ошибку низкой памяти.Размер файла составляет около 300 МБ, и аналогичные dtypes работали для других с аналогичными размерами файлов.Skiprows установлен в 1, потому что первая строка пуста.
Что я делаю не так?
РЕДАКТИРОВАТЬ:
Так выглядят новые данные.Он добавляет кучу запятых, а остальные данные совпадают.Как мне это исправить?
РЕДАКТИРОВАТЬ x 2:
После того, как я учел предложение могучей кучи, я избавился от всего, кроме заголовков в строке 6, и вырубилна строках с помощью текстового редактора.Затем я запускаю следующий код.
import pandas as pd
csv_path = "C:\\Users\\ThirdHandBD\\Desktop\\Data Splitting\\pd-split\\small-data.csv"
out_path = "C:\\Users\\ThirdHandBD\\Desktop\\Data Splitting\\pd-split\\1.csv"
df = pd.read_csv(csv_path, header=0, dtype='unicode')
print("I read in a dataframe with {} columns and {} rows.".format(
len(df.columns), len(df)
))
out_df = df.iloc[:, :1]
out_df.to_csv(out_path)
# This should be the same as df, but with only the first column.
# Check it with similar code to above.
РЕЗУЛЬТАТ
Я читаю в кадре данных с 1546 столбцами и 13 строками.
Вырезает только случайное количество заголовков столбцов.Когда я запустил код первого и последнего столбца mightypile, я получил случайные заголовки.Мой CSV не читается правильно, и я не понимаю, почему.
print("The first and last columns are:")
print(df.head(1))
print(df.tail(1))
TERMINAL OUT:
Один и тот же выход терминала повторяется и включается.Извините за то, что я глупый человек, но я чувствую, что я иду назад, а не прогрессирую.